اشکال در کوکی

EMIRATES

Active Member
با سلام

یه نکته خیلی عجیب برام پیش اومده اونم اینه که من اومدم وقتی درست لاگین کردن یه کوکی واسه صفحه index ساخته بشه که خوش آمد گویی کنه.
PHP:
$value = "MohammadREZA"; // bar farze mesal khorooji login
setcookie("namekarbari", $value, time()+3600);  /* expire in 1 hour */

اما وقتی میخوام تو یه صفحه دیگه کوکی رو فراخوانی کنم نمیخونه. یعنی انگار کوکی ایجاد نمیشه:

PHP:
$user = $_COOKIE["namekarbari"];
echo("$user خوش آمديد");

اما ............................................................... مساله خیلی جالب تر اینه که اگه این 2 تا کد رو بغل هم تو یه فایل بزاریم کوکی کار میکنه و بعد 1 ساعت اکسپایر میشه در صورتی که اگه جدا باشه اصلا کوکی ایجاد نمیشه که اکسپایر بشه.

اگه کمکم کنید ممنون میشم.

با تشکر.
 

ziXet

مدیر انجمن PHP/MYSQL
با سلام

یه نکته خیلی عجیب برام پیش اومده اونم اینه که من اومدم وقتی درست لاگین کردن یه کوکی واسه صفحه index ساخته بشه که خوش آمد گویی کنه.
PHP:
$value = "MohammadREZA"; // bar farze mesal khorooji login
setcookie("namekarbari", $value, time()+3600);  /* expire in 1 hour */

اما وقتی میخوام تو یه صفحه دیگه کوکی رو فراخوانی کنم نمیخونه. یعنی انگار کوکی ایجاد نمیشه:

PHP:
$user = $_COOKIE["namekarbari"];
echo("$user خوش آمديد");

اما ............................................................... مساله خیلی جالب تر اینه که اگه این 2 تا کد رو بغل هم تو یه فایل بزاریم کوکی کار میکنه و بعد 1 ساعت اکسپایر میشه در صورتی که اگه جدا باشه اصلا کوکی ایجاد نمیشه که اکسپایر بشه.

اگه کمکم کنید ممنون میشم.

با تشکر.
ببین اول فقط دستور ست شدن کوکی رو امتحان کن.
اگه فایرفاکس داری وقتی کوکی رو ست کردی برو تو قسمت option->privacy->show cookies ببین کوکی درست ست شده یا نه؟!
 

I.NoBody

Active Member
آقاي Emirates؛
احتمالاً شما error_reporting رو برداشتي وگرنه ارور مي بيني.
شما توي ست كردن كوكي مشكل داري.
احتمالاً قبل از ست كردن كوكي، صفحه ات خروجي داره. error_reportingت رو فعال كن ببين ارور header ميده يا نه؟
يا setcookie رو قبل از ارسال خروجي ها بذار، يا از ob_flush و eb_end و اين چيزا استفاده كن
 

EMIRATES

Active Member
با سلام

ممنون که جواب دادین

ولی من فقط مشکلم رو همین 4 خط کده از هیچ برداشتن خطایی هم استفاده نکردم.

خیلی عجیبه!

دوست عزیز اگه کوکی ساخته نمیشه

وقتی که 4 خط کد رو باهم بزاری باید کوکی ساخته بشه تا بخونتش و الا از کجا بخونه؟

عجیبه خیلی.

اگه میشه دلیلشو بگید.

باز هم میگم فقط من تو همین 4 خط مشکل دارم.

با تشکر.
 

ziXet

مدیر انجمن PHP/MYSQL
با سلام

ممنون که جواب دادین

ولی من فقط مشکلم رو همین 4 خط کده از هیچ برداشتن خطایی هم استفاده نکردم.

خیلی عجیبه!

دوست عزیز اگه کوکی ساخته نمیشه

وقتی که 4 خط کد رو باهم بزاری باید کوکی ساخته بشه تا بخونتش و الا از کجا بخونه؟

عجیبه خیلی.

اگه میشه دلیلشو بگید.

باز هم میگم فقط من تو همین 4 خط مشکل دارم.

با تشکر.
اون کاری که من گفتم رو انجام دادی؟
 

EMIRATES

Active Member
بله ایجاد میشه!!

ولی وقتی تو یه فایل دیگه میخوام بخونمش نشون نمیده.

خیلی عجیبه.

با تشکر.
 

I.NoBody

Active Member
اصلاً كوكي رو نميشه به محض ست كردن، استفاده كرد.
يعني شما وقتي كوكي set ميكني، بايد يكبار هدر تغيير كنه تا بتوني از اون كوكي استفاده كني.
عجيبه كه ميگي توي خط بعدي، شناخته شده است.
اگه كل فايلتو بذاري شايد بشه بهتر كمكت كرد
 

EMIRATES

Active Member
با سلام

راستش این خودش یک فایل تک بود ولی با if که اگه کوکی مورد نیاز وجود داشت

بگه : سلام $user

اگه هم وجود نداشت یا مقدارش بعد از خروج 0 شده بود - فرم لوگین رو نشون بده.

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

iframe توی ایندکس قرار میدادم.

اما دیدم به هیچ وجه کوکی کار نمیکنه.

گفتم آدمیزاده دیگه یکهو شاید اشتباه کرده باشم.

رفتم یه نمونه کوکی رو واسه تست برداشتم دیدم اون هم همینطوریه.

کدی در کار نیست.

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

با تشکر.
 

I.NoBody

Active Member
بعد از ست كردنت و همچنين توي يه پيج ديگه، اينو تست كن :
کد:
print_r($_COOKIE);
 

EMIRATES

Active Member
با سلام

فکر میکنین مشکل چی بود؟؟

من فایل ساخت کوکی رو در یک پوشه دیگه گزاشته بودم و کوکی برای Path ئه فایل ایجاد کوکی ساخته میشد.

مشکلم حل شد.

ممنون از همه.

با تشکر.
 

جدیدترین ارسال ها

بالا