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. динамическое значение вы должны писать / получать с помощью метода рисунка.
спасибо.