Laravel: как скрыть параметр url?

здесь сценарий я хочу передать переменную, которая будет отправляться с одной страницы на другую, и на следующей странице она будет храниться через форму. Поэтому я передал переменную с первой страницы на вторую страницу через URL-адрес. Но я хочу скрыть параметр в URL-адресе. Как мне это сделать?

вот мой маршрут :

Route::get('/registration/{course_id}',[
   'uses'=>'AppController@getregistration',
    'as'=>'registration'
]);

И Контроллер :

public function getregistration($course_id)
{        
    return view('index')->with('course_id',$course_id);      
}

и первая страница вот как я отправляю значение на первую страницу:

<li> <a  href="{{route('registration',['course_id' => '1'])}}">A</a> </li>

3 ответов


Метод Post

маршрут

Route::post('/registration',['uses'=>'AppController@getregistration','as'=>'registration']);

посмотреть

{!!Form::open(array('url' => '/registration')) !!}
  {!! Form::hidden('course_id', '1') !!}
  {!! Form::submit('registration') !!}
{!! Form::close() !!}

контроллер

public function getregistration(Request $request)
{   
    $course_id = $request->input('course_id');
    return view('index')->with('course_id',$course_id);      
}

метод GET

используйте метод шифрования, он покажет зашифрованный идентификатор в url

посмотреть

<li> <a  href="{{route('registration',['course_id' => Crypt::encrypt('1') ])}}">A</a> </li>

контроллер

public function getregistration($course_id)
{    
  $course_id = Crypt::decrypt($course_id);    
  return view('index')->with('course_id',$course_id);      
}

вы не можете скрыть параметр URL. Если вы не хотите показывать ID затем попробуйте использовать SLUG. Надеюсь, вы понимаете, что такое SLUG. Если нет, то вот оно. Если вы название курса мое новое название курса тогда его слизняк будет мой-новый-поле-Заголовок. И убедитесь, что это уникальный как ID в таблице. Это также хорошо для SEO, читаемый и выглядит хорошо.


здесь нет способа скрыть параметр в url, а не конвертировать значение параметра encrypt или hash до вас,

другой способ-сначала сохранить значение в сеансе, а затем вызвать значение из сеанса без параметра define в url.

потому что маршрут laravel работает только с шаблоном url / string / id, post get. динамическое значение вы должны писать / получать с помощью метода рисунка.

спасибо.