PDA

View Full Version : مشکل در حذف cookie با استفاده از متد forget در لاراول 4



BORHAN TEC
شنبه 24 خرداد 1393, 17:11 عصر
با سلام،
در پروژه نمونه زیر دو تا Route تعریف کرده ام:

Route::get('/', function(){
$cookie = Cookie::make('c_brand', 'BMW', 30);
return Response::make('Cookie Status: Added :)')->withCookie($cookie);
});


Route::get('/history', function()
{
$cookie = Cookie::get('c_brand');


// This Line Not Works :(
Cookie::forget('c_brand');


$cookie = Cookie::get('c_brand'); // $cookie is equal to "BMW" (o_O)
var_dump($cookie);
});
مشکل را گام به گام شرح میدهم:
1- ابتدا به آدرس زیر می روم که مربوط به آدرس پروژه است:

myapp.com/
با این کار یک کوکی با کلید c_brand و با مقدار BMW ساخته می شود که عمر آن نیز 30 دقیقه است.

2- حال به آدرس زیر می روم و انتظار دارم که کوکی ای که ساخته ام حذف شده باشد ولی در کمال ناباوری می بینیم که هنوز پاک نشده و مقدار BMW را می توان دید:

myapp.com/history

می خواهم بدانم که مشکل از کجاست و چگونه می توان آن را حل کرد؟ به کتاب Code Bright هم مراجعه کردم و دقیقاً از چنین کدی استفاده شده بود :(

metal gear solid 4
شنبه 24 خرداد 1393, 23:12 عصر
کوکی ها زمانی توسط مرورگر حذف میشن که تاریخشون Expire شده باشه. شما وقتی میخاید بگید یک کوکی اصطلاحاً حذف بشه باید تاریخ انقضای کوکی رو کمتر از زمان کنونی کنید. یعنی عملاً یک کوکی با همون نام بسازید و تاریخ گذشته بهش بدید. برای انجام اینکار شما باید کوکی جدیدی که میسازید رو دوباره از طریق یک Response به مرورگر اطلاع بدید.



$cookie = Cookie::forget('c_brand');
return Response::make('Cookie Status: Deleted :)')->withCookie($cookie);