php - 如何显示表单的内容
问题描述
在 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');
}
}
-- 显示名称.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。我会很感激你的帮助。
解决方案
您发送的是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 的基本教程,因为你对这一切都是错误的。
推荐阅读
- templates - Quarkus Qute 无法加载模板但显示 TemplateProducer$InjectableTemplateInstanceImpl@3f2dc247
- web - 谷歌搜索删除#(哈希/磅)符号后的字词
- python - 如何拆分列表并将元素从数据框中取出
- exception - KrakenD - 防止改变响应
- api - 在谷歌日历中显示来自自定义应用程序的事件?
- c#-4.0 - 在 Blazor 服务器应用程序中使用某些键盘键从文本框切换到标签
- reactjs - 反应错误:元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:未定义
- javascript - Thymeleaf 和 Javascript。将值检索到 javascript,但在 HTML 中显示文本
- flutter - 您的 `pubspec.yaml` 文件不包含 `flutter_native_splash` 部分
- excel - VBA 复制和粘贴选择,仅包括值