2016-05-16 3 views
0

, wenn ich auf die Schaltfläche Token Mismatch es gibt einen Fehler einreichen klicken, kann ich nicht verstehen, warum es mir diesen Fehler gibti ein Formular in Laravel haben, wenn ich auf Submit-Button klicken, sagt er Token Mismatch

hier ist mein

Router
Route::get('admin-login', array('uses' => '[email protected]')); 
// route to process the form 
Route::post('admin-login', array('uses' => '[email protected]')); 

mein Controller

meine Form

<form role="form" method="post" action=""> 
         <input name="_token" hidden value="{{ csrf_token() }} " /> 
         <div class="form-group"> 
          <label for="username">UserName: </label> 
          <input type="text" class="form-control" id="username" name="username"> 
         </div> 

         <div class="form-group"> 
          <label for="password">Password: </label> 
          <input type="password" class="form-control" id="password" name="password"> 
         </div> 

         <button type="submit" class="btn btn-primary">Login</button> 
        </form> 

hier Fehler

TokenMismatchException in VerifyCsrfToken.php line 53: 
+0

in showlogin Methode Ich gebe einfach Formular –

+0

Stellen Sie sicher, dass Ihr CSRF-Token gesendet wird, und dass Ihre Sitzungen funktionieren. Dieser Fehler wird dadurch verursacht, dass ein CSRF-Token nicht gesendet wird oder nicht mit dem in der Sitzung übereinstimmt. – ceejayoz

+0

Ich habe kein Token-Feld in meiner Tabelle ist dies ein Fehler? –

Antwort

0

Bitte {!! csrf_field() !!} in Ihrem <form> hinzuzufügen.

<form role="form" method="post" action=""> 
    {!! csrf_field() !!} 
    <div class="form-group"> 
     <label for="username">UserName: </label> 
     <input type="text" class="form-control" id="username" name="username"> 
    </div> 

    <div class="form-group"> 
     <label for="password">Password: </label> 
     <input type="password" class="form-control" id="password" name="password"> 
    </div> 

    <button type="submit" class="btn btn-primary">Login</button> 
</form> 

Verwenden Sie die Input Fassade nicht. Besser passieren die $request Objekt wie folgt:

public function dologin(Request $request) 
{ 
    $uname = $request->username; 
    $password = $request->password; 
    if (Auth::attempt(array('username' => $uname, 'password' => $password))){ 
     return "success"; 
    } 
    else { 
     return "Wrong Credentials"; 
    } 
} 

Beachten Sie use Illuminate\Http\Request; auf Ihre Klasse zu setzen.

+0

und dann gibt es mir ein Fehler Formular Fassade nicht gefunden –

+0

Der Fassade nicht gefunden Fehler wahrscheinlich kommt von Ihrer 'doLogin' Methode. Bitte fügen Sie 'use Auth;' oben auf Ihrer Klasse ein - aber das hat nichts mit Ihrer ursprünglichen Frage zu tun! – codedge

+0

jetzt gibt es mir einen Fehler Eingabe nicht gefunden App/http/controllers/Eingabe nicht gefunden –

Verwandte Themen