Laravel:如何隐藏 url 参数?

Posted

技术标签:

【中文标题】Laravel:如何隐藏 url 参数?【英文标题】:Laravel : How to hide url parameter? 【发布时间】:2017-02-18 11:25:04 【问题描述】:

这里的场景是我想传递一个变量,该变量将从一个页面发送到另一个页面,在下一页它将通过表单存储。所以我通过 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>

【问题讨论】:

使用 POST 代替。 ***.com/questions/32076500/… 或 laracasts.com/discuss/channels/laravel/… 那么我如何将值发送到?我已经编辑了 Qus.. 你能再检查一下吗? @RaxWeber 您必须构建一个表单并使用它来发出发布请求,而不是使用&lt;a&gt; 【参考方案1】:

发布方法

路线

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);      

获取方法

使用加密方式,会在url中显示加密后的id

查看

<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);      

【讨论】:

【参考方案2】:

这里没有办法隐藏 url 中的参数,而是转换参数值加密或散列取决于你,

另一种方式是先将值保存在会话中,然后从会话中调用值而不在url中定义参数。

因为 laravel 路由只适用于 url /string /id 的模式,post get。您必须使用模式方法写入/获取的动态值。

谢谢。

【讨论】:

【参考方案3】:

您不能隐藏URL 中的参数。如果您不想显示ID,请尝试使用SLUG。我希望你明白什么是SLUG。如果你不这样做,那就是这里。如果您的课程标题是 My new Course Title,那么它的 slug 将是 my-new-course-title。并确保它像表格中的ID 一样唯一。它对 SEO 也有好处,可读性强,看起来也不错。

【讨论】:

以上是关于Laravel:如何隐藏 url 参数?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 的参数获取

如何在 Vue JS 中使用 Laravel 进行身份验证,以便用户在没有登录的情况下无法从 URL 进入他的页面

php laravel框架学习笔记 基本工作原理

如何在子目录 Laravel 中正确配置 htaccess?

我想自学laraver,请诸位前辈给一些建议,谢谢

带有参数的渴望加载 - laravel