2015-05-13 19 views
5

ho un modulo di login in laravel:errore quando aggiungere CSRF token per forma laravel

<form class="form-signin" action="{{ URL::route('adminAuthen') }}" method="POST"> 
    {{ csrf_field() }} 
    <h2 class="form-signin-heading">Admin Login</h2> 
    <label for="inputUsername" class="sr-only">Email address</label> 
    <input type="text" id="inputUsername" name="username" class="form-control" placeholder="Username" required autofocus> 
    <label for="inputPassword" class="sr-only">Password</label> 
    <input type="password" id="inputPassword" name="password" class="form-control" placeholder="Password" required> 
    <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button> 
</form> 

Ma ho sempre avuto di errore quando visita questa forma:

Call to undefined function csrf_field() 

Come posso risolvere questo bug?

+0

whats 'csrf_field'? –

risposta

16

Penso che non ci sia alcuna funzione chiamata csrf_field() in laravel 5, utilizzare questo invece di quello.

<input type="hidden" name="_token" value="{{ csrf_token() }}"> 

Aggiornamento 2016-03-17

laravel introdurre csrf_field() in version 5.1

{{ csrf_field() }} questo genererà CSRF campo token,

+1

Ho letto sulla pagina del documento master di Laravel e si parla di csrf_field() ma quando passo al documento 5.0, la tua risposta è corretta. – ronin1184

1

La funzione csrf_field() non è in regolare laravel 5 ancora, anche se è su master documentation page. Puoi utilizzare l'helper csrf_token() invece, vedi ad es. helpers documentation, quindi creare il campo da solo o creare un modello per esso o simile.

3

È possibile sostituire il {{ csrf_field() }} con questo:

<input type="hidden" name="_token" value="{{ csrf_token() }}"> 

Potreste aver capito male questo a causa del maestro pagina di documentazione di laravel. Non so perché l'abbiano fatto. Ma questo è quello che ho scoperto lavorando su laravel-5.

Problemi correlati