PDA

View Full Version : نحوه استفاده از sessionها



bps20590
جمعه 12 مهر 1387, 11:46 صبح
با سلام
من درسايتم ازsession استفاده كرده ام وكاملا برروي وب سرور خانگي درست جواب مي دهد اما وقتي برروي اينترنت قرار مي دهم جواب نمي دهدآيا بايد مرورگررابراي sessionها تنظيم كرد

amirhosein
جمعه 12 مهر 1387, 12:05 عصر
نه ارتباطی با مرورگر نداره. اگه کدتون رو بذارید شاید بهتر بشه کمکتون کرد

fazelit
جمعه 12 مهر 1387, 14:18 عصر
من هم همین مشکل رو دارم
یعنی روی wampserver که توی خونه نصب هستش راحت کار میکنه ولی وقتی فایلهام رو توی سایت آپلود میکنه سیشن ها رو پشتیبانی نمیکنه!!!!!!!!!!!!!!!!

yaqubian
جمعه 12 مهر 1387, 14:40 عصر
دوست عزیز
مشکل شما نحوه استفاده صحیح از session در برنامتونه!
اگه کدتون رو بذارید می شه گفت اشکالش چیه!
موفق باشید

amirhosein
یک شنبه 14 مهر 1387, 07:48 صبح
پیشنهاد می کنم دوستان برای درک کار کردن صحیح با session حتما این مقاله رو دانلود و مطالعه کنن:
http://www.iranphp.net/articles/aplications/Articles010.pdf

bps20590
سه شنبه 16 مهر 1387, 08:59 صبح
دوست عزیز session ها چیز عجیب غریبی نیستند که بگیم کارکردن با آنها مشکله
شما یک متغییر session تعریف می کنید سپس درسایر صفحات با دستور session_stsrt وisset آن رو چک می کنید اگه موجود بود که فبها اگه هم نبود که کارمدنظر را انجام می دهید
مشکل من اینجاست با اینکه session روتعریف کرد ودرصفحه جدیدموجودیت آن را چک می کنم وجود ندارد دستوراتی هم که استفاده شده بصورت زیر میباشد
session_start();
$_SESSION['user']='2145'
درصفحه جدید هم دستور
session_start();
if (isset($_SESSION['user'])
echo $_SESSION['user']
ضمنا به ما هم بگوئید این کدها رو داخل چه تگی بنویسیم که دراینجا درست نمایش داده شوند

yaqubian
سه شنبه 16 مهر 1387, 10:00 صبح
دوست عزیز
با این کد چک کنید ببینید درست می شه؟

if(session_is_registered('user'))
موفق باشید

soheil_ce
سه شنبه 16 مهر 1387, 17:15 عصر
اولا سلام
دوما کداتو تو تگ کد بنویس ( بالای ادیتور # )
سوما چطوری کار نمی کنه یعنی خطا میده یا مقدار session میپره

hamidreza66
دوشنبه 29 مهر 1387, 17:39 عصر
سلام، منم همین مشکل رو دارم، خیلی برام عجیبه چو رو localhost کار میکرد اما رو سرورم جواب نداد.
5-6دفعه اول مشکلی وجود نداشت، اما دفعات بعدی نمیدونم به چه دلیل اینطور شد.
البته من کلی ور رفتم یه چیزی فهمیدم. وقتی قبل login به قسمت logout میرم، مشکل session ها حل میشه و میتونم لاگین بشم،

اینم کد logout


<?php session_start();
unset($_SESSION['sess_level']);
unset($_SESSION['sess_user']);
header("Location: index.php");
?>


اینم کد login


<?php session_start();
include ("dbc.php");
$user=$_REQUEST['user'];
$pass=$_REQUEST['pass'];
$vld=mysql_query("select `user_level` from `members` where `user` = '$user' and `pass` = PASSWORD('$pass')");
if (mysql_fetch_array($vld)>0){
$level_result=mysql_query("select `user_level` from `members` where `user` = '$user' and `pass` = PASSWORD('$pass') limit 1");
while ($vld_row=mysql_fetch_array($level_result))
{
$level=$vld_row['user_level'];
}
$_SESSION['sess_user']=$user;
$_SESSION['sess_level']=$level;
header("location: index.php");
} else {
?>
<script type="text/javascript">
alert("Miss Passwod Please try Again");
function url(url) {
window.location=url;
}
url(/*href*/'index.php');
</script>
<?php } ?>


اما شاید بگین کد unset session رو اول login بذارم حل مشه اما نشد، من دقیقاً کد رو زیر start_session(); گذاشتم

ravandi
سه شنبه 30 مهر 1387, 17:31 عصر
سلام
من یک مشکل اساسی با apachiدارم.من کدهامو داخل notpad مینویسم و encoding اونا رو در حالت utf قرار می دم.ولی اگر در صفحه من SESSION موجود باشه SESSIONها دیگر کار نمی کنه.این مشکل بزرگی شده توی طراحی و هم برنامه نویسی سایتم.
ممنونم

as13851365
چهارشنبه 01 آبان 1387, 09:23 صبح
من یک مشکل اساسی با apachiدارم.من کدهامو داخل notpad مینویسم و encoding اونا رو در حالت utf قرار می دم.ولی اگر در صفحه من SESSION موجود باشه SESSIONها دیگر کار نمی کنه.این مشکل بزرگی شده توی طراحی و هم برنامه نویسی سایتم.

مشکل شما با سه کاراکتر اول فایل است یعنی اگر شما صفحه رو با یونیکد UTF-8 ذخیره کنید در ابتدای هر فایل سه کاراکتر اضافه می شه که این سه کاراکتر باعث کلی دردسر می شن

بعد از این که صفحه رو با یونیکد UTF-8 ذخیره کردید محیط command رو باز کنید ( محیط داس ) و از ادیتور آن استفاده کنید و سه کاراکتر اول فایل خودتان رو حذف کنید!

این هم یک نمونه کد برای کار با session

24748

ravandi
چهارشنبه 01 آبان 1387, 10:35 صبح
مشکل شما با سه کاراکتر اول فایل است یعنی اگر شما صفحه رو با یونیکد UTF-8 ذخیره کنید در ابتدای هر فایل سه کاراکتر اضافه می شه که این سه کاراکتر باعث کلی دردسر می شن

بعد از این که صفحه رو با یونیکد UTF-8 ذخیره کردید محیط command رو باز کنید ( محیط داس ) و از ادیتور آن استفاده کنید و سه کاراکتر اول فایل خودتان رو حذف کنید!

این هم یک نمونه کد برای کار با session
24748
سلام
مرسی از راهنماییتون.راستی لینکتون هم مشکل داره.ممنون می شم اگر درستش کنید.
با تشکر

hamidreza66
چهارشنبه 01 آبان 1387, 19:11 عصر
من دانلود کردم مشکل نداره، دوباره امتحان کن. کسی جواب پست قبلیه منو نداد؟
من یه چیزی به ذهنم رسید، به نظر شما من هر دفعه واسه لود شدن صفحه از تابع session_regenerate_id استفاده کنم خوبه؟
خواهشن یه حرفه ای جوابمو بده.

ravandi
پنج شنبه 02 آبان 1387, 10:58 صبح
مشکل شما با سه کاراکتر اول فایل است یعنی اگر شما صفحه رو با یونیکد UTF-8 ذخیره کنید در ابتدای هر فایل سه کاراکتر اضافه می شه که این سه کاراکتر باعث کلی دردسر می شن

بعد از این که صفحه رو با یونیکد UTF-8 ذخیره کردید محیط command رو باز کنید ( محیط داس ) و از ادیتور آن استفاده کنید و سه کاراکتر اول فایل خودتان رو حذف کنید!

این هم یک نمونه کد برای کار با session

24748
سلام
من اون 3کارکتر را حذف کردم.با این کار sessionهام دوباره کار کردن ولی نوشته های فارسیم نمایش داده نمی شن...مثل اینکه با ANSI ذخیره کرده باشم.حالا چخ کارکنم؟؟؟

as13851365
جمعه 03 آبان 1387, 13:35 عصر
این کد رو به اول صفحه ها تون اضافه کن


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

ravandi
سه شنبه 07 آبان 1387, 09:40 صبح
این کد رو به اول صفحه ها تون اضافه کن


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
سلام
ممنون ولی من از meta فارسی استفاده کردم ولی بازم مشکل دارم...صفحه من یا باید با utf8 ذخیره بشه که اون موقع sessionاز کار می افتن یا باید بی خیال فارسی بشم که این هم نمی شه....البته الین نکته قابل توجه هستش که وقتی فایلم را upload می کنم روی سرور درست جواب میده ولی روی سیستم apachi اینجوریه...
چه کار کنم؟؟؟؟