Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel-从表单输入设置会话_Php_Laravel_Laravel 5_Laravel Views_Laravel Session - Fatal编程技术网

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