我想在我的项目中进行会话处理。我有一个登录页面 以及注册页面。 我已将所有值存储在会话数据中,并且在使用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**
我需要用户在尝试访问注册页面时自动重定向到“登录”页面(如果他们还没有登录)的情况。
答案 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')) {
//
}