PDA

View Full Version : سشن در قالب if



Ali110k
یک شنبه 01 مرداد 1396, 01:15 صبح
سلام
دوستان من میخوام به سرور بگم که اگر مثلا چنین اتفاق افتاد سشن رو آنست کن و اگر نه کار مورد نظرم رو بکنه و آنست نکنه سشن رو.مثلا بگم


if($diffSeconds < $timeout){
unset($_SESSION['date']);
} else{
echo $diffSeconds;}

ولی متاسفانه سرور در هر صورت سشن رو آنست میکنه چکار باید کرد؟

MRmoon
یک شنبه 01 مرداد 1396, 10:33 صبح
شما اصلا session_start() رو اجرا می کنید؟

Ali110k
یک شنبه 01 مرداد 1396, 13:54 عصر
شما اصلا session_start() رو اجرا می کنید؟
بله در اون حد دیگه بلدم.

Unique
یک شنبه 01 مرداد 1396, 17:21 عصر
log بگیر ببین diffSeconds , timeout چی هستند که شرطت همیشه true میشه.

Keramatifar
دوشنبه 02 مرداد 1396, 04:06 صبح
دوست عزیز(راه حل از روی از روی حدس و گمان و غریضه برنامه نویسی): سعی کن در شرط به جای اپراتور > (کوچکتر) از اپراتور => (کوچکتر مساوی) استفاده کنی و با توکل به خدا کد رو اجرا کنی.اگر مشکل حل نشد، لطفا کد قسمتی که $diffSeconds و $timeout رو مقداردهی می کنید قرار بدهید تا بشه بصورت فنی بررسی و راهنمایی کرد

Ali110k
چهارشنبه 04 مرداد 1396, 20:57 عصر
دوست عزیز(راه حل از روی از روی حدس و گمان و غریضه برنامه نویسی): سعی کن در شرط به جای اپراتور > (کوچکتر) از اپراتور => (کوچکتر مساوی) استفاده کنی و با توکل به خدا کد رو اجرا کنی.اگر مشکل حل نشد، لطفا کد قسمتی که $diffSeconds و $timeout رو مقداردهی می کنید قرار بدهید تا بشه بصورت فنی بررسی و راهنمایی کرد
مقدار $timeout مساوی 30 می باشد و

session_start();
if(!isset($_SESSION["date"])){
$_SESSION['date'] = new DateTime( 'NOW' );
}
$date1 =$_SESSION['date'];
$date2 = new DateTime( 'NOW' );
$diffSeconds = $date2->getTimestamp() - $date1->getTimestamp();
$_SESSION['date'] = new DateTime( 'NOW' );