【问题标题】:Laravel 5.4.3 session is not working on new requestLaravel 5.4.3 会话不适用于新请求
【发布时间】:2018-12-14 17:22:23
【问题描述】:

我正在使用 jQuery Ajax 函数来验证用户并创建会话。在 laravel 控制器中,我有以下代码。

        if( isset( $_POST['email'] ) )
        {
            $email      = $_POST['email'];
            $password   = $_POST['password'];

            $results =  DB::table('table')->where([
                            ['school_email', '=', $email ],
                            ['school_password', '=', $password],
                        ])->get() ;

            if( $results -> count() ==  0 )
            {
                echo json_encode( array('data' => '0' ) ); exit;
            }
            else
            {
                $user =  $results[0] ;
                session(['users' => $user ]);
                $request    ->  session()   ->  put('two', 'test');
                echo json_encode( array( 'data' => '1' ) );
                exit;
    }

在设置会话变量后打印会话时设置会话。但是当我刷新页面或将用户重定向到另一个 URL 时。 session 以空变量的形式出现。 我正在使用具有默认设置的文件会话,并且目录(存储)是可写的。我确实将 server.php 更改为 index.php 并将 htaccess 从公共目录复制到 root 只是为了访问我的本地站点而无需在 url 中写入 public。例如 http://localhost/site2/login 之前

http://localhost/site2/public/login

【问题讨论】:

  • "只是为了访问我的本地站点而无需在 url 中写入 public" 如果您 set up Laravel the correct way 则无需“将 server.php 更改为索引。 php"
  • 我在一个论坛上也看到了这种方法,有人关注。您认为这会导致会话出现问题吗?

标签: php session laravel-5


【解决方案1】:

我们需要使用 $request -> session() -> save();在为会话变量赋值之后。奇怪的是它没有在文档中指向任何地方。

【讨论】:

    猜你喜欢
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-28
    • 2016-03-20
    • 1970-01-01
    • 2014-10-09
    • 2020-06-15
    相关资源
    最近更新 更多