Смена пароля продолжает перенаправлять на ту же страницу - PullRequest
0 голосов
/ 04 апреля 2020

Мне трудно отлаживать этот код. Я просто новичок в laravel и не знаю, почему этот код продолжает перенаправлять на одну и ту же страницу, даже если я использовал правильные методы. Я использую аутентификацию по умолчанию laravel. Я не знаю, что я что-то упустил. Вот код Спасибо!

<?php

namespace App\Http\Controllers\Auth;

use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;

class ChangePasswordController extends Controller
{
    public function index(){
        return view('Auth.passwords.changepassword');
    }

    public function changepassword(Request $request){
        $this->validate($request, [
            'oldpassword' => 'required',
            'password' => 'required|confirmed'
        ]);

        $hashedPassword = Auth::user()->password;
        if(Hash::check($request->oldpassword, $hashedPassword)) {
            $user = User::find(Auth::id());
            $user->password = Hash::make($request->password);
            $user->save();
            Auth::logout();
            return redirect()->route('login')->with('successMsg', "Password successfully changed");
        }else{
            return redirect()->back()->with('errorMsg', "Old Password is invalid");
        }
    }
}

1 Ответ

1 голос
/ 05 апреля 2020

попробуйте этот код

   $this->validate($request, [
        'current_password'          => 'required',
        'password'              => 'required|min:6',
        'password_confirmation' => 'required|same:password'
    ]);


   $current_password = $request->current_password;

   $user = auth()->user();

   if (Hash::check($current_password, $user->password)) { 

       $user->fill([
        'password' => Hash::make($request->password)
        ])->save();

        return  redirect()->back()->with('success', 'Password Updated');
   } else{

       return redirect()->back()->with('error', 'Sorry a problem occurred while Updating this Password.');
   }
...