В настоящее время я разрабатываю веб-сайт, используя структуру Laravel 4.2 и загрузочный твиттер. Я установил свой файл master.blade.php
который представляет навигационную панель вверху каждой страницы.
В принципе, если пользователь вошел в систему, я хочу отображать навигационную панель с различными параметрами, чем если пользователь не вошел в систему. Поэтому, когда пользователь входит в систему, я устанавливаю переменную $_SESSION
.
Однако, когда я использую {{session_start();}}
в моем файле master.blade.php, 1 выводится на мой сайт. Как это исправить?
![<html> <head> <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0"> <link href="{{asset('resources/css/bootstrap.css')}}" rel="stylesheet"> <link href="{{asset('resources/css/master.css')}}" rel="stylesheet">][1] @section('head') @show </head> <body> {{session_start();}} @if(!isset($_SESSION['email'])) <div class="navbar navbar-inverse navbar-static-top"> <div class="container"> <div class="navbar-brand">Jordanstown Dive Club</div> <button class="navbar-toggle" data-toggle="collapse" data-target=".navHeaderCollapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <div class="collapse navbar-collapse navHeaderCollapse"> <ul class="nav navbar-nav navbar-right"> <li class="active"><a href="home">Home</a></li> <li><a href="login">Log In</a></li> <li><a href="signup">Sign Up</a></li> <li><a href="gallery">Gallery</a></li> <li><a href="contactus">Contact Us</a></li> </ul> </div> </div> </div> @elseif(isset($_SESSION['email'])) <div class="navbar navbar-inverse navbar-static-top"> <div class="container"> <div class="navbar-brand">Jordanstown Dive Club</div> <button class="navbar-toggle" data-toggle="collapse" data-target=".navHeaderCollapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <div class="collapse navbar-collapse navHeaderCollapse"> <ul class="nav navbar-nav navbar-right"> <li class="active"><a href="home">Home</a></li> <li><a href="logout">Log Out</a></li> <li><a href="BookaDive">Book a Dive</a></li> <li><a href="DiveLog">Dive Log</a></li> <li><a href="gallery">Gallery</a></li> <li><a href="contactus">Contact Us</a></li> </ul> </div> </div> </div> @endif
{{function ()}} будет переведен в PHP echo, функция будет выполнена и будет возвращено значение.
В Laravel вам не нужно использовать session_start (), поскольку Laravel имеет встроенный механизм управления сеансом.
Если вам нужны разные параметры меню, вы можете проверить, зарегистрирован ли пользователь и использовать ли @if
@if(Auth::check()) link to Logout @else link to login @endif