从html发送值到Laravel中的Routes

时间:2017-04-25 00:51:04

标签: php html laravel laravel-5 laravel-4

我想知道如何将html文件中的值发送到laravel中的routes.php文件。这是我的HTML:

<h1 id="title"  name="otherUser" value="{{session()->get('user2')}}">{{session()->get('user2')}}</h1>

这是我的php:

Route::post('commendUser', function(Request $request) {
    $data = $request->all();
    $username = /*FIXME*/ ;
    echo($username);
});

任何人都可以解释如何正确获取从HTML到路由的用户名值?谢谢!

杰克

2 个答案:

答案 0 :(得分:0)

您可以使用name属性从html获取任何值:

$username = $request->otherUser;

or :

$username = $request->input('otherUser');

or using a global helper:

$username = request('otherUser');

or using Input facade :

$username = Input::get('otherUser');

然而您需要使用post h1标记设置表单,例如:

<form action="/commendUser" method="post">
    {{ csrf_field() }}
    <input type="text" name="otherUser" value="{{session()->get('user2')}}">
    <button type="submit">Submit</button>
</form>

在您的路线中,您可以使用dd($username)而非回音。

<强>更新

您还需要在web.php文件的顶部导入请求外观,如下所示:

use Illuminate\Http\Request;

Route::post('commendUser', function(Request $request) {
    dd($request->input('otherUser'));
});

指向Web路由文件中定义的POSTPUTDELETE路由的任何HTML表单都应包含CSRF令牌字段。否则,请求将被拒绝。您可以在CSRF documentation中详细了解CSRF保护,以便将其添加到表单中:

如果

你仍然得到一个空值,这可能是错误的 会话价值。

答案 1 :(得分:0)

您没有正确使用HTML标记,H1不是用于发送数据的表单字段。请改用。