Php Laravel-从表单输入设置会话
我无法在视图中显示会话值。我只想显示它,看看它是否在控制器内正确设置。控制器中的设置是否正确?我怎么查? 我认为:Php Laravel-从表单输入设置会话,php,laravel,laravel-5,laravel-views,laravel-session,Php,Laravel,Laravel 5,Laravel Views,Laravel Session,我无法在视图中显示会话值。我只想显示它,看看它是否在控制器内正确设置。控制器中的设置是否正确?我怎么查? 我认为: <div class="panel panel-success"> <form action="{{ route('get_table') }}" method="POST"> {{ csrf_field() }} @foreach($tables
<div class="panel panel-success">
<form action="{{ route('get_table') }}" method="POST">
{{ csrf_field() }}
@foreach($tables as $data)
<button type="submit" name="tables" class="btn btn-primary" value="{{ $data->id }}">
{{$data->name }}
</button>
@endforeach
</form>
{{ Session::get('table_id') }}
</div>
在web.php路由中:
Route::get('/', 'ListController@index')->name('get_table');
Route::post('/', 'ListController@getTable');
我甚至试过
public function getTable(Request $request) {
$request->session()->put('table_id', '1234');
}
在{{Session::get('table_id')}}
我做错了什么?您可以尝试以下方法:
public function getTable(Request $request) {
$table_id = $request->get('tables');
return redirect()->back()->with('table_id',$table_id);
}
如果要重定向到特定路线,则:
public function getTable(Request $request) {
$table_id = $request->get('tables');
return redirect()->route('RouteName')->with('table_id',$table_id);
}
然后考虑到:
@if(Session::has('table_id'))
{{ Session::get('table_id') }}
@endif
希望您能得到答案“Illumb\Session\Middleware\StartSession”设置在您的中间件中?它位于受保护的$middlewareGroups=['web'=>[\Illumb\Session\Middleware\StartSession::class,在my kernel.phpy您用于设置和检索会话变量的代码是正确的,请尝试一下。也许您可以检查ìndex()中的设置`首先是控制器的函数。索引函数工作正常,因为在我看来,我可以正确地看到所有的foreach按钮。我不知道如何检查getTable函数。这就是为什么我将
{{Session::get('table_id')}
在视图中检查会话是否在我提交按钮后设置。但是如何在会话中放置table\u id?return redirect()->route('RouteName')->with('table\u id',$table\u id);with()方法save session,is也称为session\u flash,我尝试了return redirect()->back()->with('table\u id',$table\u id);
但是在视图中,我只能看到按钮,我看不到{{Session::get('table_id')}}
值,无论我单击哪个按钮。我阅读了Session_flash上的文档,我需要在会话中存储更长的数据,而不仅仅是为了这个请求。然后尝试以下方法:使用illumb\Support\Facades\Session;Session::put('table_id',$table_id);同样的问题,我不知道我做错了什么,你对如何检查代码失败的地方有什么建议吗?谢谢
@if(Session::has('table_id'))
{{ Session::get('table_id') }}
@endif