我想知道如何将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到路由的用户名值?谢谢!
杰克
答案 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路由文件中定义的POST
,PUT
或DELETE
路由的任何HTML表单都应包含CSRF令牌字段。否则,请求将被拒绝。您可以在CSRF documentation中详细了解CSRF
保护,以便将其添加到表单中:
你仍然得到一个空值,这可能是错误的 会话价值。
答案 1 :(得分:0)
您没有正确使用HTML标记,H1不是用于发送数据的表单字段。请改用。