我正在使用laravel 5.4创建一个简单的login
模块,该模块运行良好,并且我还设置了session
值以获取特定用户的访问权限,这不是我单击{{1 }}按钮将页面重定向到logout
页面,这很完美,但是当我直接在浏览器上访问login
页面时,它显示了一个错误,即dashboard
如何解决此问题?请帮助我。
dashboard.blade.php
Invalid argument supplied foreach()
Mycontroller.php
<?php
if(!isset($data))
{
header('location:{{url("login")}}');
}
?>
@foreach($data as $row)
<h3>Welcome, {{ $row->username }}</h3>
@endforeach
<a href="{{url('logout')}}">Logout</a>
答案 0 :(得分:0)
尽管使用 isset()函数,仍尝试使用 empty()函数
,还需要检查$ data is_array()或 is_object()。
<?php
if(empty($data))
{
header('location:{{url("login")}}');
}
?>
@if (is_array($data) || is_object($data))
@foreach($data as $row)
<h3>Welcome, {{ $row->username }}</h3>
@endforeach
@endif
答案 1 :(得分:0)
这是控制器功能中的一个问题,在该功能中,您使用$ user将其定义为如下数组:
$user['data'] = Session::get('user');
并像这样返回它:
return view('user.dashboard',$user);
之后,只需运行您的dashboard.blade.php文件