blade.php 方法将结果输出到表单
blade.php method outputting it's result to the form
我目前正在使用 Laravel 4.2 框架和推特 bootstrap 设计一个网站。我已经设置了我的 master.blade.php
文件,它在每个页面的顶部显示一个导航栏。
基本上,如果用户已登录,我想显示一个导航栏,其选项与用户未登录时不同。因此,当用户登录时,我设置了 $_SESSION
变量。
但是,当我在 master.blade.php 文件中使用 {{session_start();}}
时,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,函数被执行并打印出 return 值。
在 Laravel 中你不需要使用 session_start() 因为 Laravel 有内置的会话管理机制。
如果你想要不同的菜单选项,那么你可以检查用户是否登录并使用@if
@if(Auth::check())
link to Logout
@else
link to login
@endif
我目前正在使用 Laravel 4.2 框架和推特 bootstrap 设计一个网站。我已经设置了我的 master.blade.php
文件,它在每个页面的顶部显示一个导航栏。
基本上,如果用户已登录,我想显示一个导航栏,其选项与用户未登录时不同。因此,当用户登录时,我设置了 $_SESSION
变量。
但是,当我在 master.blade.php 文件中使用 {{session_start();}}
时,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,函数被执行并打印出 return 值。
在 Laravel 中你不需要使用 session_start() 因为 Laravel 有内置的会话管理机制。
如果你想要不同的菜单选项,那么你可以检查用户是否登录并使用@if
@if(Auth::check())
link to Logout
@else
link to login
@endif