محمد
2 سال پیش توسط محمد مطرح شد
6 پاسخ

کار با سشن ها در لاراول

سلام خسته نباشید
یه بخشی دارم که کاربر بتونه استان خودشو انتخاب بکنه و هر کدوم که کلیک کرد دیتای سایت براساس اون لوکیشن میاد و نمایش داده میشه.
توی لاراول چه طوری میتونم اینو با سشن پیاده کنم؟
توی AppServiceProvider یه سشن ایجاد کردم که توی همه ی سایت قابل دسترس باشه و یه فانکش توی کنترلر که بتونم دیتای سکش عوض کنم از طریق روت عوض کنم. موردی هستش بخاطر اینکه AppServiceProvider توی همه جا اجرا میشه هر بار درخواست واسه تغیر میفرستم محتوای سشن آپدیت نمیشه
ممنون میشم راهنماییم کنه.


ثبت پرسش جدید
محمد
تخصص : همیشه در حال یادگیری ...
@Mohammad79 2 سال پیش مطرح شد
محمد زورمند
تخصص : react developer
@SpyStar0003 2 سال پیش مطرح شد
2

سلام

داداش مرسی که تگ کردی ولی من لاراول رو بلد نیستم😶😶🙏🙏


عرفان محسنی
تخصص : back-End developer
@erfanmohseni406 2 سال پیش مطرح شد
2

@Mohammad79
داش شرمنده منم بک اند کار نیستم 💔


امین محمدزاده
تخصص : برنامه نویسی وب - Laravel
@amin.webdesign 2 سال پیش مطرح شد
0

سلام. اول اینکه ترجیحا سشن هارو توی middleware ها مقداردهی اولیه بکنید
دوم اینکه کدی که باهاش سشن رو میسازید و آپدیت میکنید هم اینجا بذارید تا بهتر بتونیم راهنمایی کنیم.
یه نکته خیلی مهم که وجود داره برای اینکه شما بتونید سشن رو بروزرسانی کنید حتما صفحه شما در انتها باید یه ریسپانسی برگردونه. وگرنه هیچ اتفاقی برای سشن شما نمیوفته. مثلا اگه بعد از کدهای بروزرسانی سشن بیایید و از تابع dd استفاده کنید سشن شما بروز نمیشه.


محمد
تخصص : همیشه در حال یادگیری ...
@Mohammad79 2 سال پیش مطرح شد
0
session()->put('ostan', 'Tehran');

ممنون میشم راهنمایی کنید


محمد موسوی
تخصص : طراح وب سایت
@hamed70.2011 2 سال پیش مطرح شد
1

سلام دوست عزیز
کدی که می بینی تو دایرکتوری 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';

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام