2017-03-16 202 views
0

我尝试创建自定义登录页面,但我得到一个错误laravel 5.2自定义登录

Undefined index: password

我控制器代码

$this->validate($Request, [ 
     'Email' => 'required', 
     'password' => 'required', 
     ]); 
     $email = $Request['Email']; 
     $password  = md5($Request['password']); 
     $login = new login(); 
     $login = login::where('Email', $email); 
     if(empty($password)) 
     { 
      return('404'); 
     } 
     if(Auth::attempt(['Email' => $Request->input('Email'), 'Password' =>$password])) 
     { 
      return ('ok'); 
     } 
     return ('no'); 

任何一个可以帮助我来创建自定义登录

这是我的新代码

但我再次GOR未定义::密码时应

public function logincheck(Request $request) 
    { 
     $this->validate($request, [ 
     'Email' => 'required', 
     'password' => 'required', 
     ]); 
     $email = $request->Email; 
     $password  = md5($request->get('password')); 
     if(Auth::attempt(['Email' => $request->get('Email'), 'Password' =>md5($request->get('password'))])) 
     { 
      return ('ok'); 
     } 
     return ('no'); 
    } 
+0

显示你的表格。您的输入字段的名称应完全匹配。这是区分大小写的。 – Christophvh

回答

1

你的错误来自

$Request['password'] 

你对待请求作为数组。这是一个对象。你做

public funciton login(Request $request) 
{ 
    $password = $request->password; 
    //or use the global helper 
    $password = request('password'); 


    //Attempt login 
    if(Auth::attempt(['Email' => $request->get('Email'), 'Password' =>$password])) 
    { 
     return ('ok'); 
    } 
} 

此外,如果你遵循Laravel教程得当,你不需要md5哈希密码。 Auth::attemp()会为你散列它

+0

再次我得到了同样的错误 – Saran

+0

请更新您的代码,我想看看错误来自哪里。 – EddyTheDove

+0

公共函数logincheck(请求$请求) { \t $这 - >验证($请求,[ '所需' '电子邮件'=>, '需要' '密码'=>, \t]); \t $ email = $ request-> Email; \t $ password = md5($ request-> get('password')); \t if(Auth :: attempt(['Email'=> $ request-> get('Email'),'Password'=> md5($ request-> get('password'))])) \t { \t \t return('ok'); \t} \t return('no'); } – Saran