【问题标题】:Issue faced during management of the Session in LaravelLaravel 会话管理过程中面临的问题
【发布时间】:2017-06-27 10:01:17
【问题描述】:

我想在我的项目中进行会话处理。我有一个登录页面 以及注册页面。 我已将所有值存储在会话数据中,并在注销时使用 Laravel 的刷新功能销毁了该值。

如果用户的会话不存在,则应将用户重定向到登录页面。 为了处理这种情况,我在 Controller 中创建了 helpers.php 文件,用于检查会话数据是否为空。

如果会话数据为空,则用户应重定向到登录页面。该案例包含在控制器部分中。 但我收到以下错误。我的代码的实现如下:

Test_laravel\app\Http\Controllers\CrudController.php

    <?php

    namespace App\Http\Controllers;

    //request class is use for take form input
    use Illuminate\Http\Request;
    use App\Http\Requests;
    use App\Http\Controllers\Controller;
    //for database
    use DB;
    //to use models
    use App\Crud;


    class CrudController extends Controller {

        public function index() {

              return view('register');
        }
    }

**Test_laravel\app\helpers.php**

    <?php
    // My common functions

            $is_login=session()->get('data');
           // var_dump($is_login);die;
            if(empty($is_login))
            {    
            return view('login');
            }
    ?>

错误如下:

**Fatal error: Call to a member function make() on a non-object in D:\php\wamp\www\Test_laravel\vendor\laravel\framework\src\Illuminate\Foundation\helpers.php on line 105**

我需要用户在尝试访问注册页面时自动重定向到登录页面(如果他们尚未登录)的情况。

【问题讨论】:

  • 也许你应该开始在 Laravel 中寻找 auth 以了解登录/注销的工作原理。
  • 您的helpers.php 中的代码是在某种函数中还是只是像那样被转储到那里?
  • 是的,这是我的 helpers.php 文件中的实际代码,如果我在 CrudControllers 中编写相同的代码,那么它工作正常,但如果在每个控制器中编写相同的排序或代码以检查用户是否登录或不是那么它增加了代码的复杂性。所以我想在我的助手中编写那个会话代码我已经在我的 composer.json 中定义了助手路径,所以它会默认在每个控制器上调用,但它显示上面的错误。

标签: php laravel session laravel-5


【解决方案1】:

创建 Cookie

\Cookie::queue('admin', 1 , 60);

第一个参数 - 名称,第二个参数 - 值,第三个参数 - Cookie 有效期分钟

检索 cookie use Request; Request::cookie('adminid')

【讨论】:

    【解决方案2】:

    您可以使用以下过程来检查是否有任何项目说(比如用户)存在,而不是创建 helpers.php 文件作为替代解决方案。

    确定会话中是否存在项目

    has 方法可用于检查会话中是否存在项目。如果项目存在,此方法将返回 true:

    if ($request->session()->has('users')) {
        //
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-26
      • 2021-10-14
      相关资源
      最近更新 更多