За последние 24 часа нас посетили 22799 программистов и 1246 роботов. Сейчас ищет 741 программист ...

как правильно сохранить переменную в сесию?

Тема в разделе "Laravel", создана пользователем Qvei, 25 сен 2020.

  1. Qvei

    Qvei Новичок

    С нами с:
    10 ноя 2019
    Сообщения:
    60
    Симпатии:
    4
    Подскажите пожалуйста. почему после действия формы в адресной строке появляются данные сесии, тоесть другой урл .../pro-nas?tema=pro-nas2.css ( должно быть без этого ?tema=pro-nas2.css) и получается, что правила работают только для этого урла?
    Я пытаюсь сохранить инпут в сесию как это правильно сделать а?
    Вот вьюха с формой:
    Код (Text):
    1. <form action="{{$urlcateg}}" method="PUT" enctype="multipart/form-data">
    2.            {{csrf_field()}}
    3.            <select name="tema">
    4.               <option value="{{$light}}">світла</option>
    5.               <option value="{{$dark}}">темна</option>
    6.            </select>
    7.            <button type="submit">обрати</button>
    8.         </form>
    роут:

    Route::resource('/pro-nas', 'PronasController');

    контроллер:

    Код (Text):
    1. <?php
    2. namespace App\Http\Controllers;
    3. use Illuminate\Http\Request;
    4. use App;
    5. use Cookie;
    6. use Session;
    7.  
    8.  
    9. class PronasController extends Controller
    10. {
    11.  
    12.     public function index(Request $request)
    13.     {
    14.         $urlcateg = '/pro-nas';
    15.         $light = 'pro-nas.css';
    16.         $dark = 'pro-nas2.css';
    17.         $tema = $request->input('tema');
    18.         Session::put('tema', $tema,3600);
    19.      
    20.         return view('pro-nas', compact('urlcateg','light','dark','tema'));
    21.     }
    22.  
    23. }
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.752
    Симпатии:
    1.322
    Адрес:
    Лень
    проверяй {{$urlcateg}}
     
  3. Qvei

    Qvei Новичок

    С нами с:
    10 ноя 2019
    Сообщения:
    60
    Симпатии:
    4
    незнаю что еще проверять? ну вроде все как в доках ларавел
    Код (Text):
    1. class PronasController extends Controller
    2. {
    3.    
    4.     public function index(Request $request)
    5.     {
    6.        
    7.         $light = 'pro-nas.css';
    8.         $dark = 'pro-nas2.css';
    9.         $tema = $request->input('tema');
    10.         session(['tema' => $tema]);
    11.        
    12.         return view('pro-nas', compact('light','dark','tema'));
    13.     }
    14.  
    15. }
    .. убрал переменную эту {{$urlcateg}} вовсе..
    Код (Text):
    1. <form action="/pro-nas" method="PUT">
    2.            @csrf
    3.            @method('PUT')
    4.            <select name="tema">
    5.               <option value="{{$light}}">світла</option>
    6.               <option value="{{$dark}}">темна</option>
    7.            </select>
    8.            <button type="submit">ttt</button>
    9.         </form>
    ну что не так то?
     
  4. Qvei

    Qvei Новичок

    С нами с:
    10 ноя 2019
    Сообщения:
    60
    Симпатии:
    4
    Так до конца и не понял, почему не удалось запустить на Resource роуте, но когда сделал отдельный роут поменял на POST и все заработало