如何在不使用Laravel中的url的情况下将变量传递给视图?

如何在不使用Laravel中的url的情况下将变量传递给视图?,laravel,Laravel,伙计们。我是拉威尔的新手 我只是想知道,如果我需要将一些写在表单上的敏感信息传递给控制器,然后再传递给另一个视图 我如何在不使用URL的情况下将信息传递给视图 我做了一些小测试,但结果都是一样的(url将包含数据)。 这是代码 Html(a): DataController.php: public function show(Request $request) { return view('testShow'); } Html(b): @如果(!empty(request()

伙计们。我是拉威尔的新手

我只是想知道,如果我需要将一些写在表单上的敏感信息传递给控制器,然后再传递给另一个视图

我如何在不使用URL的情况下将信息传递给视图

我做了一些小测试,但结果都是一样的(url将包含数据)。 这是代码

Html(a):

DataController.php:

    public function show(Request $request) {
    return view('testShow');
}
Html(b):


@如果(!empty(request()->all()))
{{request()->Test}
@恩迪夫

在Laravel中使用Route::post(“/data”,”时DataController@show“)由于show函数,Laravel期望得到一个GET

所以您可以使用Route::post('/data','DataController@someFunction”)并在您的laravel控制器中获得:

public function someFunction(Request $request)
    {
        $array = $request->all(); //your fields
    }

在这个函数中,您可以使用$array=$request->all()获取属性

只需将表单更改为使用POST而不是GET即可

在表格上

<form action="/data" method="POST" class="form-horizontal">

这将以不易查看的方式(不在URL中)将所有表单字段发送到服务器,但为了使表单安全,您还需要确保使用HTTPS提供表单

使用POST而不是GETBut如何?我添加了一个路由
route::post('/data','DataController@show');
并更改从POST获取的方法,但结果将是相同的。如果我尝试删除Route::get one的行,我将得到一个错误。您可以使用会话,或者只需将其保存到数据库中,并在需要时进行查询。
<div class="ShowDataHere">
@if(!empty(request()->all()))
    {{ request()->Test }}
@endif
public function someFunction(Request $request)
    {
        $array = $request->all(); //your fields
    }
<form action="/data" method="POST" class="form-horizontal">
Route::post('/data', 'DataController@show');