会话在php Laravel中无法正常工作

时间:2019-09-02 10:04:40

标签: php laravel session

我的Laravel项目在hostgator服务器上上传时遇到会话问题。会话驱动程序是文件类型问题。当我尝试登录时,我设置了全局会话,例如session(['user'=>1,'username'=>'zee']

当我重定向到另一条路由并尝试访问会话值时,该会话为空。重定向之前,如果我print_r(session('user'));打印的值表示在同一控制器上可以正常工作。

有人可以提出解决方案吗?

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; 
use App\User;
use Validator;
use Session;

class userLoginController extends Controller
{
    //
    public function user_login(Request $request)
    {
       if(Auth::attempt(['email' => request('email'), 'password' => request('password')]))
           {
                   $user = Auth::user(); 
                   $request->session()->put('aa_key', 'value');
                     session(['user' => $user->name,'user_data'=>$user->id]);

                   return redirect()->route('user_dashboard')->with(['user_data'=>1]);
          }
          return redirect()->route('all');
    }



use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; 
use App\User;
use Validator;
use Session;

class userLoginController extends Controller
{
    //
    public function user_login(Request $request)
    {
       if(Auth::attempt(['email' => request('email'), 'password' => request('password')]))
           {
                   $user = Auth::user(); 
                   $request->session()->put('aa_key', 'value');
                     session(['user' => $user->name,'user_data'=>$user->id]);

                   return redirect()->route('user_dashboard')->with(['user_data'=>1]);
          }
          return redirect()->route('all');
    }
}

另一个控制器

<?php

namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth; 
use App\post;
use App\category;
use App\subcategory;
use App\attribute;
use App\attribute_value;
use App\post_attribute;
use App\midea;
use App\User;
use App\like; 
use App\rating; 
use Illuminate\Http\Request;
use Redirect;
use Session;
use Carbon\Carbon;

class FrontController extends Controller   public function userdashboard(Request $request)
    {
          $flg = session('user_data');
          $ad =Session::get('aa_user');
          //dd($flg);
          print_r($ad);
          exit;
    }

web.php

Route::post('/userlogin', 'userLoginController@user_login'); 

Route::get('/user_dashboard', 'FrontController@userdashboard')->name('user_dashboard');

1 个答案:

答案 0 :(得分:0)

使用会话外观代替session() 示例:

Session::put('key', 'value');

从会话中获取价值

Session::get('key');
相关问题