Php 错误:未定义索引:Laravel刀片模板中的名称

Php 错误:未定义索引: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

我在laravel项目中有一个登录表单,并使用ajax在控制器方法中发送用户登录数据。当用户成功登录时,我将用户名保留在session
$\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会话[“用户名”]
,它会显示结果