Php 错误:未定义索引:Laravel刀片模板中的名称
我在laravel项目中有一个登录表单,并使用ajax在控制器方法中发送用户登录数据。当用户成功登录时,我将用户名保留在sessionPhp 错误:未定义索引:Laravel刀片模板中的名称,php,ajax,laravel,laravel-blade,Php,Ajax,Laravel,Laravel Blade,我在laravel项目中有一个登录表单,并使用ajax在控制器方法中发送用户登录数据。当用户成功登录时,我将用户名保留在session$\u session['name]中。但当我试图在我的blade template视图中显示$\u SESSION['name]时,会出现错误 local.ERROR:未定义的索引:name 这是我的登录控制器方法 public function signin(LoginFormValidation $request) { $user_password
$\u session['name]
中。但当我试图在我的blade template视图中显示$\u SESSION['name]
时,会出现错误
local.ERROR:未定义的索引:name
这是我的登录控制器方法
public function signin(LoginFormValidation $request)
{
$user_password = $request->password;
$data = User::where('email','=',$request->email)->first();
if(Hash::check($user_password, optional($data)->password))
{
$_SESSION['name'] = $data->name;
echo "success";
}
else
{
echo "no";
}
}
这是我的刀片模板视图
<ul class="cd-main-nav__list js-signin-modal-trigger">
<li><a class="cd-main-nav__item cd-main-nav__item--signup" href="#0">{{ $_SESSION['name'] }}</a></li>
</ul>
为什么用户名未存储在我的会话中,或者如果用户名已存储,为什么会出现错误?您忘记启动会话了
session_start();
PHP>=5.4.0版本的推荐方法
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
使用laravel会话助手函数 控制器
public function signin(LoginFormValidation $request)
{
$user_password = $request->password;
$data = User::where('email','=',$request->email)->first();
if(Hash::check($user_password, optional($data)->password))
{
session()->put('name', $data->name);
echo "success";
}
else
{
echo "no";
}
}
刀片
<ul class="cd-main-nav__list js-signin-modal-trigger">
<li><a class="cd-main-nav__item cd-main-nav__item--signup" href="#0">{{ session()->get('name') }}</a></li>
</ul>
print\r($\u会话);查看其结果并检查会话是否已创建或其值是否已存储。@Raff如果您使用的是Laravel,那么为什么不使用Laravel Auth?如果您将使用Auth登录,那么您可以使用Auth::user()
,随时随地访问用户的所有信息。为什么不使用laravel的会话库
@B.Desai…我已经尝试了会话(['key'=>'value'])代码>…但得到了相同的结果result@Amanjaura...Data已经储存了…我查过了…在哪里使用?在控制器中?在布局文件中使用它,这样您就不需要在视图中一次又一次地添加它。或者,如果只是需要,也可以在控制器中这样做,并将名称作为变量传递给视图……一件有趣的事是。。。。我在会话中的助手函数中存储了一些其他数据,如role\u id
。它们都显示得没有任何错误,但是这个$\u会话[“用户名”]
显示的是错误…意思是如果我使用$\u会话[“角色id”]
而不是$\u会话[“用户名”]
,它会显示结果