PDA

View Full Version : حرفه ای: چرا این شرط همواره غلط در می یاد؟



idocsidocs
پنج شنبه 04 اسفند 1390, 09:40 صبح
من در ابتدای اسکریپت از شرط زیر استفاده می کنم:

if($this->basket($_COOKIE['basket'])){
setcookie('basket',$cookie1,$time,'/','','',true);
$_COOKIE['basket']=$cookie1;
}
else{
setcookie('basket',$cookie2,$time,'/','','',true);
$_COOKIE['basket']=$cookie2;
}

این شرط اگر غلط بود باید مقدار کوکی رو ست کنه تا دفعه بعد مقدار شرط درست باشه و شرط اول اجرا بشه.

مشکل اینجاست که این شرط هیچ وقت درست نمی شه.

بنظرتون مشکل ازکجاست؟

khanlo.javid
پنج شنبه 04 اسفند 1390, 10:47 صبح
با سلام

دوست عزیز شاید با کوکی مشکل داره با سشن امتحانش کن ببین درست میشه یا نه!


موفق باشید.

امیـرحسین
پنج شنبه 04 اسفند 1390, 11:37 صبح
شاید متد basket مشکل داره...

idocsidocs
پنج شنبه 04 اسفند 1390, 13:20 عصر
شاید متد basket مشکل داره...



دوست عزیز شاید با کوکی مشکل داره با سشن امتحانش کن ببین درست میشه یا نه!
تست کردم و مشکل از کوکی هست.
متد basket هیچ مقداری نمی گیره که روش عملیات انجام بده و به همین دلیل همیشه false بر می گردونه.

MMSHFE
پنج شنبه 04 اسفند 1390, 17:44 عصر
اون دو پارامتری که '' گذاشتین رو با NULL جایگزین کنید ببینید مشکل رفع میشه؟

idocsidocs
پنج شنبه 04 اسفند 1390, 18:17 عصر
اون دو پارامتری که '' گذاشتین رو با NULL جایگزین کنید ببینید مشکل رفع میشه؟
این کار رو انجام دادم ولی مشکل حل نشده.

ayub_coder
پنج شنبه 04 اسفند 1390, 18:28 عصر
اون $time رو چه مقداری دادی؟ شاید همون لحظه که ست می کنی اکسپایر میشه؟!!!

idocsidocs
پنج شنبه 04 اسفند 1390, 18:55 عصر
اون $time رو چه مقداری دادی؟ شاید همون لحظه که ست می کنی اکسپایر میشه؟!!!


مرسی دوست عزیز مشکل همین بود. اصلا حواسم به مقدار تایم نبود. از مقدار زیر استفاده می کردم که درست نبود.

$time=3600*24*120;
الان از این مقدار استفاده می کنم و مشکل حل شد.

$time=time()+3600*24*120;

ayub_coder
پنج شنبه 04 اسفند 1390, 19:26 عصر
خوشحالم که مشکلتون حل شده
موفق باشید :لبخندساده: