Paradox
2 سال پیش توسط Paradox مطرح شد
0 پاسخ

فراموشی رمز عبور با موبایل

سلام روز بخیر
من میخام فراموشی رمز عبور با شماره موبایل باشه
به این شکل که کد برای کاربر ارسال بشه و در صورت درست بودن کاربر هدایت بشه به صفحه ریست پسورد
مشکلی که دارم نمیدونم چطوری تو صفحه ای که کاربر پسورد جدید میخاد وارد کنه توکن ارسال کنم
روت ها

    Route::get('/forget-password', [ForgotPasswordController::class, 'show'])->name('password.request');
    Route::post('forget-password', [ForgotPasswordController::class, 'create'])->name('password.phone'); 
    Route::get('/password-token' , [ForgotPasswordController::class , 'showToken'])->name('show.reset.token');
    Route::post('/password-token' , [ForgotPasswordController::class , 'token'])->name('reset.token');
    Route::get('reset-password', [ForgotPasswordController::class, 'showResetPassword'])->name('reset.password'); 
    Route::post('reset-password', [ForgotPasswordController::class, 'submitResetPassword'])->name('password.update');

کنترلر

  public function token(Request $request , User $user)
   {

        $request->validate([
            'token' => 'required|integer'
        ]);

        $active_code = ActiveCode::query()->whereCode($request->token)->where('expired_at' , '>' , now())->first();

        if(! $active_code) {
            return redirect(route('password.request'));
        }

        return redirect(route('reset.password'));
    }

   public function showResetPassword()
   {
        return view('auth.passwords.reset');   
   }

   public function submitResetPassword(Request $request , User $user)
   {
        $request->validate([
            'phone' => 'required|regex:/[0]{1}[0-9]{10}/|not_regex:/[a-z]/|min:11|exists:users',
            'password' => 'required|string|min:8|confirmed',
            'token' => 'required|integer'
        ]);

            $request->only('phone', 'password', 'password_confirmation', 'token');

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

            $user->save();

            return redirect(route('home'));
   }

ویو

 <div class="form">
                    <form method="POST" action="{{ route('password.update') }}">
                        @csrf

                        <input type="hidden" name="token" value="">

                        <div class="row mb-3">

                            <div class="col-md-6 m-auto">
                                <input id="phone" type="text" class="form-control @error('phone') is-invalid @enderror" name="phone" value="{{ $phone ?? old('phone') }}" required autocomplete="phone" placeholder="شماره موبایل" autofocus>

                                @error('phone')
                                    <span class="invalid-feedback" role="alert">
                                        <strong>{{ $message }}</strong>
                                    </span>
                                @enderror
                            </div>
                        </div>

                        <div class="row mb-3">

                            <div class="col-md-6 m-auto">
                                <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="new-password" placeholder="رمز عبور جدید">

                                @error('password')
                                    <span class="invalid-feedback" role="alert">
                                        <strong>{{ $message }}</strong>
                                    </span>
                                @enderror
                            </div>
                        </div>

                        <div class="row mb-3">

                            <div class="col-md-6 m-auto">
                                <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password" placeholder="تکرار رمز عبور جدید">
                            </div>
                        </div>

                        <div class="row mb-0">
                            <div class="col-md-6 m-auto text-center">
                                <button type="submit" class="btn-orange">
                                    {{ __('بازیابی رمز عبور') }}
                                </button>
                            </div>
                        </div>
                    </form>
                </div>

ثبت پرسش جدید

به همدیگه کمک کنیم

به Paradox کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام