这里的场景是我要传递一个变量,该变量将从一个页面发送到另一个页面,在下一页中它将通过表单存储。所以我通过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>
答案 0 :(得分:10)
路线
{!!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);
}
控制器
<li> <a href="{{route('registration',['course_id' => Crypt::encrypt('1') ])}}">A</a> </li>
使用加密方法,它会在url中显示加密的id
查看
public function getregistration($course_id)
{
$course_id = Crypt::decrypt($course_id);
return view('index')->with('course_id',$course_id);
}
控制器
Sitecore.Analytics.Data
答案 1 :(得分:1)
您无法隐藏URL
中的参数。如果您不想显示ID
,请尝试使用SLUG
。我希望你明白什么是SLUG
。如果你不这样做,那就是。如果你的课程标题是我的新课程标题那么它的slug将是我的新课程标题。并确保它与表格中的ID
一样唯一。它对SEO也有好处,可读性很好。
答案 2 :(得分:0)
这里你无法隐藏url中的参数,而是你转换参数值encrypt或hash取决于你,
other-way是会话中的保存值,然后在url中调用session而不使用define参数。
因为laravel路由只对url / string / id的模式起作用,所以post get。你必须使用模式方法编写/获取动态值。
感谢。