2017-03-05 6 views
1

es ist mein erstes Mal ein Einloggen in Laravel. Ich folgte den Schritten hier: https://scotch.io/tutorials/simple-and-easy-laravel-login-authentication. Aber dieser Fehler kommt heraus: ErrorException in Validation

Ich bin wirklich verwirrt, worum es sich bei diesem Fehler handelt, da ich neu bei Laravel bin? Hier ist mein Controller-Code:

public function login() 
{ 
    $admins = Admin::all(); 
    $validator = \Validator::make($admins , ['username' => 'required', 'password' => 'required']); 
    if ($validator->passes()) 
    { 
     $userdata = array(
      'username' => Admin::get('username'), 
      'password' => Admin::get('password')); 
     if (Auth::attempt($userdata)) 
     { 
      echo 'Success'; 
     } 
     else { 
      return Redirect::to('login'); 
     } 
    } 
} 

Hier ist mein Weg ist:

Route::resource('Admins','AdminController'); 
Route::post('login', array('uses' => '[email protected]')); 

Antwort

-1

hier ist das Problem,

$admins = Admin::all(); 
$validator = \Validator::make($admins , ['username' => 'required', 'password' => 'required']); 

ersetzen Sie es mit:

$inputs = Input::all(); 
$validator = \Validator::make($inputs , ['username' => 'required', 'password' => 'required']); 

und vergiss nicht zu Wechsel: Dank geht an FatBoyXPC

$userdata = array(
      'username' => Admin::get('username'), 
      'password' => Admin::get('password')); 

mit:

$userdata = array(
      'username' => Input::get('username'), 
      'password' => Input::get('password')); 
+1

Sie sollten 'Admin ändern :: get()' auf 'Eingang :: get()', auch. – FatBoyXPC

+0

Oh so input :: all() ist nicht der Name des Modells? Ich dachte, das sei der Fall, deshalb habe ich es geändert. Ich werde jetzt versuchen –

+0

kümmern sich um die wichtige Anmerkung, die @FatBoyXPC erwähnt :) – hassan