尽管我在Laravel项目中设置了会话索引,但还是出现了错误
未定义索引:用户类型
在用户登录时,我已经设置了$_SESSION['usertype']
并重定向到/home
网址。
但是我设置了会话索引却遇到了这个错误。
控制器
public function signin(Request $request)
{
$username = $request->username;
$password = md5($request->password);
$exist = UserTbl::where('username','=', $username)->where('password','=', $password)->get();
if(count($exist) > 0)
{
$_SESSION['usertype'] = $exist[0]->user_type;
return redirect('/home');
}
else
{
return redirect('/');
}
}
public function home()
{
$_SESSION['active_menu'] = '1';
return view('home');
}
路线
Route::get('/home','PrescriptionController@home');
查看错误原因
@if($_SESSION['usertype'] == '1') // Got error in this line
<li>
<a href="{{ url('all-user') }}">
<span>All User</span>
</a>
</li>
<li>
<a href="{{ url('create-user') }}">
<span>Create User</span>
</a>
</li>
@endif
答案 0 :(得分:2)
如果您使用的是laravel,则只需使用以下laravel会话方法,
<uses-permission android:name="android.permission.INTERNET"/>
答案 1 :(得分:1)
您的问题中有很多要强调的地方:
Hash::
门面作为密码,而不是简单的md5
Auth::attempt()
来维持用户会话,直到用户注销,或者您致电Auth::logout()
参见this博客文章以了解更多信息 li>
sessions
,laravel提供了多种管理session密钥的方式,因此您不必直接使用$_SESSION
。像$request->session()->get('usertype')
或session()->get('usertype')
或SESSION::get('usertype')
has('key')
,如果您要求的key
是否存在于会话中,则返回布尔值。例如:
@if(session()->has('usertype') && session()->get('usertype') == '1')
...
@endif
答案 2 :(得分:1)
在控制器中调用Session
Facade或使用$request->session()
。在这里,我使用Session
Facade。
use Session;
public function signin(Request $request)
{
$username = $request->username;
$password = md5($request->password);
$exist = UserTbl::where('username','=', $username)->where('password','=', $password)->first();
if(isset($exist->user_type))
{
Session::put('user_type') = $exist->user_type;
return redirect('/home');
}
else
{
return redirect('/');
}
}
public function home()
{
Session::put('active_menu') = '1';
return view('home');
}
视图
@if(Session::get('user_type')==1)
<li>
<a href="{{ url('all-user') }}">
<span>All User</span>
</a>
</li>
<li>
<a href="{{ url('create-user') }}">
<span>Create User</span>
</a>
</li>
@endif
答案 3 :(得分:1)
set session value
$request->session()->put('usertype', $exist[0]->user_type);
get session value
@if(Session::get('variableName') == '1') // Got error in this line
<li>
<a href="{{ url('all-user') }}">
<span>All User</span>
</a>
</li>
<li>
<a href="{{ url('create-user') }}">
<span>Create User</span>
</a>
</li>
@endif