将 html 中的值发送到 Laravel 中的路由
Send a value from html to Routes in Laravel
我想知道如何将 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 正确获取用户名值到路由吗?谢谢!
杰克
您可以使用名称属性从 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
文件的顶部导入 Request facade,如下所示:
use Illuminate\Http\Request;
Route::post('commendUser', function(Request $request) {
dd($request->input('otherUser'));
});
还有
任何指向 POST
、PUT
或 DELETE
路由的 HTML 表单都应包含 CSRF 令牌字段。否则,请求将被拒绝。您可以在 CSRF documentation 中阅读有关 CSRF
保护的更多信息,因此我已将其添加到表格中:
如果
您仍然得到一个空值,这可能是
会话值。
您没有正确使用 HTML 标签,H1 不是用于发送数据的表单域。改用。
我想知道如何将 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 正确获取用户名值到路由吗?谢谢!
杰克
您可以使用名称属性从 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
文件的顶部导入 Request facade,如下所示:
use Illuminate\Http\Request;
Route::post('commendUser', function(Request $request) {
dd($request->input('otherUser'));
});
还有
任何指向 POST
、PUT
或 DELETE
路由的 HTML 表单都应包含 CSRF 令牌字段。否则,请求将被拒绝。您可以在 CSRF documentation 中阅读有关 CSRF
保护的更多信息,因此我已将其添加到表格中:
如果
您仍然得到一个空值,这可能是 会话值。
您没有正确使用 HTML 标签,H1 不是用于发送数据的表单域。改用。