سلام خسته نباشید
یه بخشی دارم که کاربر بتونه استان خودشو انتخاب بکنه و هر کدوم که کلیک کرد دیتای سایت براساس اون لوکیشن میاد و نمایش داده میشه.
توی لاراول چه طوری میتونم اینو با سشن پیاده کنم؟
توی AppServiceProvider یه سشن ایجاد کردم که توی همه ی سایت قابل دسترس باشه و یه فانکش توی کنترلر که بتونم دیتای سکش عوض کنم از طریق روت عوض کنم. موردی هستش بخاطر اینکه AppServiceProvider توی همه جا اجرا میشه هر بار درخواست واسه تغیر میفرستم محتوای سشن آپدیت نمیشه
ممنون میشم راهنماییم کنه.
سلام. اول اینکه ترجیحا سشن هارو توی middleware ها مقداردهی اولیه بکنید
دوم اینکه کدی که باهاش سشن رو میسازید و آپدیت میکنید هم اینجا بذارید تا بهتر بتونیم راهنمایی کنیم.
یه نکته خیلی مهم که وجود داره برای اینکه شما بتونید سشن رو بروزرسانی کنید حتما صفحه شما در انتها باید یه ریسپانسی برگردونه. وگرنه هیچ اتفاقی برای سشن شما نمیوفته. مثلا اگه بعد از کدهای بروزرسانی سشن بیایید و از تابع dd استفاده کنید سشن شما بروز نمیشه.
سلام دوست عزیز
کدی که می بینی تو دایرکتوری middleware و فایل Authenticate.php هست؛ ما تو لاراول با این کد این کار رو می کنیم:
اگر کاربر لاگین نیست روت صفحه قبلی که داخلش بوده رو می ریزیم داخل سشن و زمانی که لاگین شد از این سشن استفاده می کنیم؛ فکر می کنم کار شما هم با چنین چیزی حل بشه:
protected function redirectTo($request)
{
$request->session()->put('previous_url', url()->current());
if (! $request->expectsJson()) {
return route('register-login');
}
}
یه نکته هم در رابطه با بروزرسانی سشن بگم اینکه اگر سشن از قبل وجود داره نیاز نیست دو باره از put استفاده کنید و فقط کافیه مقدار جدید رو داخلش بریزید:
session('ostan') = 'Tehran';
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟