Забыли пароль в Laravel - PullRequest
0 голосов
/ 01 мая 2020

У меня проблема со страницей забытого пароля. У меня есть страница входа и кнопка «забыть пароль».

Когда пользователь нажимает на кнопку «забыть пароль», он видит страницу, на которой следует написать свою электронную почту.

Затем на адрес электронной почты отправляется электронное письмо. , После того, как пользователь щелкнет ссылку, пользователь увидит страницу, на которой пользователь может сменить пароль.

Я выполнил эту часть, когда пользователь получил электронное письмо, но когда пользователь щелкнул ссылку, пустая страница появляется. Вот мой код

<!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  );
        }
    
    
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...