在Laravel会议期间管理的问题

时间:2017-06-27 10:01:17

标签: php laravel session laravel-5

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

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

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

Test_laravel \应用\ HTTP \控制器\ 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**

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

2 个答案:

答案 0 :(得分:0)

创建Cookie

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

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

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

答案 1 :(得分:0)

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

确定会话中是否存在项目

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

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