سلام من موقعه logout با این دستور
unset($_SESSION['SESS_MEMBER_ID']);
پاک می کنم ولی انگار پاک نمیشه روش بهتری کسی بلده برای اینکه پاک بشه؟
سلام من موقعه logout با این دستور
unset($_SESSION['SESS_MEMBER_ID']);
پاک می کنم ولی انگار پاک نمیشه روش بهتری کسی بلده برای اینکه پاک بشه؟
سلام
این تابع می توانه مشکل شما رو حل کنه دوست عزیز
http://php.net/manual/en/function.session-destroy.php
موفق باشید
با این دستور می تونی سیشن رو پاک کنید :
session_destroy();
به نظر من session رو مساوی null بذار و از session_destroy استفاده نکن چون ممکنه تو یه پروژه فقط بخوای یه session خاصو پاک کنی . unset هم جواب میده البته
بازم کار نمی کنه یعنی یوجورایی پاک می کنه ولی نمی دونم بخاطره کش هست یا چیزه دیگه که کار نمی کنه
من بعد از unset کردن اینو گذاشتم ولی اصلا کار نمی کنه
یک چیزه جالب اینه که صفحه logout من وقتی که unset می کنه از توی هد بهش کد ریداکت دادم که بره به صفحه اصلی وقتی میره دوباره session هست ولی وقتی اون کد ریداکت رو بر میدارم خودم دستی بعد از logout میرم صفحه اصلی همه session ها پاک شده
if(!isset($_SESSION['SESS_FIRST_NAME']) || (trim($_SESSION['SESS_FIRST_NAME']) == '')) {
header("location: ../index.php");
}else {
unset($_SESSION['SESS_FIRST_NAME']);
header("location: ../index.php");
}
سلام
لطفاً کد زیر را امتحان کنید و نتیجه اش را ببینید:
if(isset($_SESSION['SESS_FIRST_NAME'])) {
unset($_SESSION['SESS_FIRST_NAME']);
header("location: ../index.php");
exit;
}else{
header("location: ../index.php");
exit;
}
البته ميشه كد فوق رو يكم خلاصه تر كرد:
if(isset($_SESSION['SESS_FIRST_NAME'])) {
unset($_SESSION['SESS_FIRST_NAME']);
}
header('location: ../index.php');
exit();
حقيقتش چون ديدم قسمتي كه از شرط آوردم بيرون درهرحال اجرا ميشه و فقط دستور unset مربوط به شرط هست، اينطوري خلاصه اش كردم. موفق باشيد.
سلام دوست من،
نگاه کنید Session با unset کردن خود به خود نابود نمی شود فقط آرایه ایی که در Session هست نابود میشه.
به مثال من توجه کنید:
session_start();
$_SESSION['userid'] = 1;
$_SESSION['GMT'] = +330
من تو کد بالا یک session ایجاد کردم و داخل آرایه سشن دو متغیر userid و GMT ذخیره کردم، User_ID رو فرضاً برای چک کردن لاگین گذاشتم و GMT رو برای تنظیم ساعت نمایش داده شده در سایت.
حالا من می خوام کاربر وقتی از سایت خروج می کنه تا زمانی که سایت رو داره نگاه می کنه منطقه ساعتش تغییر نکنه.
من میام برای نابود کردن userid و خروج کاربر این کار رو می کنم:
unset($_SESSION['userid']);
پس GMT بقوت خود باقی خواهد ماند. اگر این کار رو انجام بدید 100% کدتون جواب می ده اما این کار رو کردید و کد جواب نداد ممکن چند دلیل داشته باشه که مهمترینش غلط املایی و عدم رعایت کوچک و بزرگی کاراکترها یعنی شما session ایجاد کردید فرضاً با نام userid حالا که می خواهید نابودش کنید user_id می نویسید.
اما رایج ترینش اینه :
session_start();
حتماً بایستی session رو استارت کنید و سپس نابودش کنید حتی در لاگ اوت پیج
آخرین ویرایش به وسیله pejman_view : یک شنبه 22 آبان 1390 در 01:51 صبح