显示在laravel中以表格形式输入的内容的问题。 添加什么代码以显示在表单中输入的值?
-web.php
Route::get('/show-name', ['uses' => 'NameController@show-name', 'middleware' => 'auth']);
- NameContoller.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class NameController extends Controller
{
public function show-name()
{
return view('show-name');
}
}
- show-name.blade.php
<?php
print_r($_POST);
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" class="">
<div class="required field">
<label>Name</label>
<input type="text" name="email" id="name">
</div>
<input type="submit" class="ui primary button" id="send" name="send" value="Send"></input>
</form>
使用按钮后的消息-MethodNotAllowedHttpException。 感谢您的帮助。
答案 0 :(得分:1)
您发送的是POST
请求,而不是GET
请求。
Route::post('/show-name', [
'uses' => 'NameController@show-name',
'middleware' => 'auth'
]);
文档告诉您如何获取所有数据 https://laravel.com/docs/5.8/requests#retrieving-input
文档告诉您必须将数据传递到视图https://laravel.com/docs/5.8/views#passing-data-to-views
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class NameController extends Controller
{
public function show-name(Request $request)
{
$input = $request->all();
return view('show-name')->with('data', $input);
}
}
文档告诉您如何访问传递到视图https://laravel.com/docs/5.8/blade#displaying-data
中的数据@php
echo print_r($data);
@endphp
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" class="">
<div class="required field">
<label>Name</label>
<input type="text" name="email" id="name">
</div>
<input type="submit" class="ui primary button" id="send" name="send" value="Send"></input>
</form>
此外,如果没有CSFR
https://laravel.com/docs/5.8/blade#forms
输入是自动关闭的,这意味着不需要</input>
此外,不需要<?php echo $_SERVER['PHP_SELF']; ?>
,因为使用Laravel,您可以专门定义路线的名称。
<form method="post" action="/show-name" class="">
观看有关Laravel的一些基本教程,因为这一切都是错误的。