Laravel:会话未保存
Laravel: Sessions not saving
所以我通读了所有 Laravel 会话信息和所有关于 Laravel 会话的 Whosebug 问题,但它没有任何帮助。
我试图在登录时存储用户名,并且我希望它显示我在页面上登录的整个时间。现在,当我登录时,我进入主页并显示用户名,然后我返回登录,这将我重定向到主页,用户名不再存在。我使用的代码:
Session::put('username', Input::get('username'));
$value = Session::get('username');
return View::make('main')->with('username',$value);
然后在我的 main.blade.php:
@if(!empty($username))
{{$username}}
@endif
我不知道我做错了什么。我做的和所有的例子一模一样。
我在这里做错了什么?
如果您还没有这样做,您应该利用 Laravels Auth。然后你不必自己处理这些东西,只需这样做即可检索用户名:
Auth::user()->username;
编辑
这里的实际问题不是您的会话,而是您仅将 $username
传递给您的一个控制器中的视图这一事实,而不是在您呈现它时一直如此。
如果你想要当前用户的一些 属性,一定要使用 Auth::user()->username
。如果您有其他会话值,您可以使用以下方式直接在视图中访问它们:
{{ Session::get('foo'); }}
另一种方法是视图编辑器。他们让您在每次渲染时将内容传递给视图:
View::composer('main', function($view){
$view->with('foo', Session::get('foo'));
});
您可以将此代码放在 app/filters.php 中或创建一个新的 app/composers.php 并将其包含在 app/start/global 的末尾。 php 与:
require app_path().'/composers.php';
现在变量在 main.blade.php
中始终可用,只需:
{{ $username }}
所以我通读了所有 Laravel 会话信息和所有关于 Laravel 会话的 Whosebug 问题,但它没有任何帮助。
我试图在登录时存储用户名,并且我希望它显示我在页面上登录的整个时间。现在,当我登录时,我进入主页并显示用户名,然后我返回登录,这将我重定向到主页,用户名不再存在。我使用的代码:
Session::put('username', Input::get('username'));
$value = Session::get('username');
return View::make('main')->with('username',$value);
然后在我的 main.blade.php:
@if(!empty($username))
{{$username}}
@endif
我不知道我做错了什么。我做的和所有的例子一模一样。 我在这里做错了什么?
如果您还没有这样做,您应该利用 Laravels Auth。然后你不必自己处理这些东西,只需这样做即可检索用户名:
Auth::user()->username;
编辑
这里的实际问题不是您的会话,而是您仅将 $username
传递给您的一个控制器中的视图这一事实,而不是在您呈现它时一直如此。
如果你想要当前用户的一些 属性,一定要使用 Auth::user()->username
。如果您有其他会话值,您可以使用以下方式直接在视图中访问它们:
{{ Session::get('foo'); }}
另一种方法是视图编辑器。他们让您在每次渲染时将内容传递给视图:
View::composer('main', function($view){
$view->with('foo', Session::get('foo'));
});
您可以将此代码放在 app/filters.php 中或创建一个新的 app/composers.php 并将其包含在 app/start/global 的末尾。 php 与:
require app_path().'/composers.php';
现在变量在 main.blade.php
中始终可用,只需:
{{ $username }}