【发布时间】:2019-08-06 11:20:35
【问题描述】:
我正在开发 laravel 5.5。我正在检查用户是否像这样登录:
@if(Auth::check())
//some logic
@else
//somelogic
@endif
但是 if/else 语句会被执行两次,具体取决于用户是否登录。你认为为什么会这样? 如here 所述,我尝试了其他方法来检查身份验证。我仍然遇到同样的错误。
我正在使用的布局。
<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1">
<title>{{ config('app.name', '') }}</title>
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
</head>
<body>
<div id="app">
@include('inc.navbar')
<div class="container">
@yield('content')
</div>
</div>
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}"></script>
</body>
</html>
实现的逻辑
@if(Auth::user())
@extends('layouts.app')
@section('content')
<h1> Exercises</h1>
@endsection
@else
@extends('layouts.app')
@section('content')
<h1> Nope</h1>
@endsection
@endif
【问题讨论】:
-
您能分享一下具体的问题吗?这段代码本身似乎很好。
//some login是什么,您得到的输出是什么以及预期的结果是什么。 -
预期输出:来宾用户和登录用户的不同导航栏。电流输出;如果用户已登录,则已登录用户导航栏出现两次。否则,当用户退出时,guest-user-navbar 会出现两次。
-
你所描述的行为表明你有一个独立于你的身份验证检查的问题,因为你描述的是相同的内容出现了两次。你需要分享你正在使用的布局代码,你可能有一个错误。
-
所以认证部分工作得很好。您在哪个页面中包含此刀片模板文件以及如何包含此文件?检查重复。
-
我将用代码编辑问题。
标签: php laravel if-statement authentication laravel-5