У меня проблема со страницей забытого пароля. У меня есть страница входа и кнопка «забыть пароль».
Когда пользователь нажимает на кнопку «забыть пароль», он видит страницу, на которой следует написать свою электронную почту.
Затем на адрес электронной почты отправляется электронное письмо. , После того, как пользователь щелкнет ссылку, пользователь увидит страницу, на которой пользователь может сменить пароль.
Я выполнил эту часть, когда пользователь получил электронное письмо, но когда пользователь щелкнул ссылку, пустая страница появляется. Вот мой код
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Hello {{$Name}}</h1>
<a href="{{url('account/newpassword/'.$href.'/'.$id)}}">Click Here</a>
</body>
</html>
Route::get('/account/change_password/{hash}/{id}', 'UserController@account_change_password');
Route::get('/forgot_change_password' , 'UserController@forgot_change_password');
Route::get('/change_pass_forgot', 'UserController@change_pass_forgot');
Route::get('/change_form' , 'UserController@change');
Route::get('/change_info_password_forgot', 'UserController@change_info_password_forgot');
Route::get('/change_info_password' , 'UserController@change_info_password');
//==============Verify Email ==============================//
Route::post('/verifyemail' , 'UserController@verifyemail');
Route::get('/emailpage' , 'UserController@emailpage');
Route::get('/account/newpassword/{$href}/{$id}', 'UserController@newpass');
Route::get('/returntopass', "UserController@returntopass");
controller
function account_change_password($hash, $id){
$user = UserModel::where('ID', $id )->first();
if($user){
if(md5($user->ID.$user->email) == $hash){
return view('forgot_change_password_form')->with('id', $id);
}
return view('change_pass');
}
}
function emailpage(){
return view('verifymail');
}
function change_pass_forgot(){
return Redirect::to('/change_form');
}
function passwordchange(){
return view('change_form');
}
function verifyemail(Request $r){
$validation= Validator::make($r->all(),
[
'email' => 'required|email|exists:users,email'
]);
if($validation->fails()){
return back()->withErrors($validation)->withInput();
}
$user = UserModel::where('email', $r->email)->first();
$password_data = array(
'Name' => $user->Name,
'Surname' => $user->Surname,
'id' => $user->ID,
'href' => md5($user->ID.$user->email)
);
Mail::send('emailverify' , $password_data, function($m) use ($user){
$m->from('yeghiazaryanaramayis@gmail.com' , 'Shop Admin');
$m->to($user->email, '$user->name $user->surname');
$m->subject('Password Change');
});
return Redirect::to('/login');
}
function newpass($href, $id){
$user = UserModel::where('ID', $id )->first();
if($user){
if(md5($user->ID.$user->email) == $href){
return view('change_form')->with('id', $id);
}
return Redirect::to('/login');
}
}
function returntopass(){
return view('change_form');
}
function newpassword(Request $r){
$validation = Validator::make($r->all(),
[
'password' => 'required',
'confirm' => 'required|same:password',
],
[
'required' =>'Empty Field',
]
);
if($validation->fails()){
return Redirect::to('/change_form')->withErrors($validation)->withInput();
}
else{
$user = UserModel::where('ID' , $r->ID)->first();
$user->password = Hash::make($r->password);
$user->save();
return view('change_form')->with('ID' , $r->ID );
}
}