2014-10-08 31 views
0


我有刀片问题。我检查用户是否登录。如果我从$ user($ user-> UserName和$ user-> UserEmail)传递两个输入默认值,如果不是,则传递Input :: old()。

Laravel - 语法错误,意外';'在刀片上

在我不检查用户是否登录之前,它工作正常。有什么建议么??

的观点:

@if($errors->has()) 
    <ul> 
     @foreach ($errors->all() as $error) 
      <li class="txt-danger">{{ $error }}</li> 
     @endforeach 
    </ul> 
@endif 

@if(Session::has('message')) 
    <ul> 
     <li class="txt-success">{{ Session::get('message') }}</li> 
    </ul> 
@endif 

{{ Form::open(array('url'=>'contact', 'name'=>'contactform', 'id'=>'contactform')) }} 
    <p> 
     @if(Auth::check()) 
      {{ Form::text('name', $user->UserName, array('id'=>'name') }} 
     @else 
      {{ Form::text('name', Input::old('name'), array('id'=>'name', 'placeholder'=>'Twoje imię')) }} 
     @endif 
    </p> 
    <p> 
     @if(Auth::check()) 
      {{ Form::text('email', $user->UserEmail, array('id'=>'email') }} 
     @else 
      {{ Form::text('email', Input::old('email'), array('id'=>'email', 'placeholder'=>'Twój e-mail')) }} 
     @endif 
    </p> 
    <p> 
     {{ Form::text('subject', Input::old('subject'), array('id'=>'subject', 'placeholder'=>'Temat')) }} 
    </p> 
    <p> 
     {{ Form::textarea('message', Input::old('message'), array('id'=>'message', 'placeholder'=>'Wiadomość', 'rows'=>'0')) }} 
    </p> 
    {{ Form::submit('Wyślij wiadomość', array('class'=>'mainBtn', 'id'=>'submit')) }} 
{{ Form::close() }} 
+0

错误是否告诉你它认为';'出现在哪一行? – 2014-10-08 21:26:01

+0

我找到了。这是我愚蠢的错误。在if(Auth:check())闭包失踪后输入“)”。 – Marcin 2014-10-08 22:00:13

回答

0

它看起来像您使用的表单中的Input门面。

输入外观用于在提交表单后获取表单传递的值。如果您想要使用从控制器传回的旧值返回到窗体,则需要将这些值作为控制器的参数传递。例如:

return View::make('MyView')->with('old', $oldValues); 

您收到错误“语法错误,意外错误”的原因;''在刀片”是因为你使用双大括号{{ }}当你输出的Form::text()并且正在使用中它Input门面,还等什么PHP是看到的是这样的:

echo "<input type='text' name='email'> valuefrominput;</input>"; 

基本上,Input::old()是在你的Form::text()代码中间写一个分号。

+0

我找到了。这是我愚蠢的错误。在if(Auth:check())闭包失踪后输入“)”。 – Marcin 2014-10-08 22:00:31

+0

啊,我很高兴你找到了! – 2014-10-08 22:37:53