راکت

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

6 پاسخ

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

محمد
محمد
@Mohammad79
ثبت پرسش جدید

پاسخ‌ها

6
محمد
محمد
@Mohammad79

تخصص: همیشه در حال یادگیری ...

محمد زورمند
محمد زورمند
@SpyStar0003

تخصص: react developer

سلام

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

شاید پاسخ شما همین‌جا باشد

عرفان محسنی
عرفان محسنی
@erfanmohseni406

تخصص: backend developer

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

امین محمدزاده
امین محمدزاده
@amin.webdesign

تخصص: برنامه نویسی وب - Laravel

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

محمد
محمد
@Mohammad79

تخصص: همیشه در حال یادگیری ...

session()->put('ostan', 'Tehran');

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

محمد موسوی
محمد موسوی
@hamed70.2011

تخصص: طراح وب سایت

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

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

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