表单提交和接收在同一页(Laravel, php, blade)
Form submission and receipt on the same page (Laravel, php, blade)
我不明白为什么这不起作用。帮助!!!
我需要输入的值在发送后显示在输入中。
TestController.php
class TestController extends Controller {
public function form(Request $request) {
if ($request->isMethod('get')) {
echo 'REQUEST GET';
return view('test');
}
if ($request->isMethod('post')) {
$text = $request->input('text');
echo 'REQUEST POST';
echo '<br>';
echo $text;
return view('test', ['text', $text]);
}
}
test.blade.php
<div class="container">
<div class="col-sm-offset-0 col-sm-12 {{ $CONTAINER_SETTINGS->OFFSET_MD }} {{ $CONTAINER_SETTINGS->WIDTH_MD }}">
<div class="panel panel-default">
<div id="header" class="panel-heading">
<h4><i class="fa fa-btn fa-users"></i>Test</h4>
</div>
<div class="panel-body">
<form action="{{ url('test') }}" method="POST">
{{ csrf_field() }}
@if(isset($text))
<input type="text" name="text" value="{{ $text }}">
@else
<input type="text" name="text" >
@endif
<input type="submit">
</form>
</div>
</div>
</div>
</div>
web.php(路线)
Route::get('test', 'TestController@form');
Route::post('test', 'TestController@form');
enter image description here
enter image description here
因为你在return查看时没有发送带索引数组的数据。
查看 Laravel Passing Data To Views
的文档
试试这个:
return view('test', ['text' => $text]);
我不明白为什么这不起作用。帮助!!! 我需要输入的值在发送后显示在输入中。
TestController.php
class TestController extends Controller {
public function form(Request $request) {
if ($request->isMethod('get')) {
echo 'REQUEST GET';
return view('test');
}
if ($request->isMethod('post')) {
$text = $request->input('text');
echo 'REQUEST POST';
echo '<br>';
echo $text;
return view('test', ['text', $text]);
}
}
test.blade.php
<div class="container">
<div class="col-sm-offset-0 col-sm-12 {{ $CONTAINER_SETTINGS->OFFSET_MD }} {{ $CONTAINER_SETTINGS->WIDTH_MD }}">
<div class="panel panel-default">
<div id="header" class="panel-heading">
<h4><i class="fa fa-btn fa-users"></i>Test</h4>
</div>
<div class="panel-body">
<form action="{{ url('test') }}" method="POST">
{{ csrf_field() }}
@if(isset($text))
<input type="text" name="text" value="{{ $text }}">
@else
<input type="text" name="text" >
@endif
<input type="submit">
</form>
</div>
</div>
</div>
</div>
web.php(路线)
Route::get('test', 'TestController@form');
Route::post('test', 'TestController@form');
enter image description here
enter image description here
因为你在return查看时没有发送带索引数组的数据。
查看 Laravel Passing Data To Views
的文档试试这个:
return view('test', ['text' => $text]);