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

هدایت به صفحه 404 برای ثبت نام با شماره موبایل

سلام من میخوام کاربر موقع ثبت نام که شماره موبایل وارد کرد کد براش اس ام اس بشه و بعد وارد صفحات بعدی بشه و اطلاعات دیگه پر بشه

الان کد به شماره موبایل ارسال میکنم ولی وقتی کد وارد میکنم و روی دکمه ثبت نام میزنم هدایت میشه به صفحه 404

public function register(Request $request)
    {
        $data = $request->validate([
            'phone' => 'required|unique:users,phone|digits:11|numeric|regex:/[0]{1}[0-9]{10}/',
            'password' => ['required', 'string', 'min:8', 'confirmed'],
     ]);

           $user = User::create([
            'phone' => $data['phone'],
            'password' => Hash::make($data['password']),
        ]);

        $apiKey = config('services.ghasedak.key');
        $code = ActiveCode::generateCode($user);
        $request->session()->flash('phone' , $data['phone']);

        try{  
         $message = "کد احراز هویت شما : " . $code . " ";
         $lineNumber = "10008566"; 
         $receptor = $data['phone'];
         $api = new \Ghasedak\GhasedakApi($apiKey);
         $api->SendSimple($receptor,$message,$lineNumber);  
        }  
        catch(ApiException $e){
            throw $e;
        }
        catch(HttpException $e){
            throw $e;
        }       

        return redirect(route('phone.token'));

    }

    public function showToken(Request $request)
    {
        if(! $request->session()->has('phone')) {
            return redirect(route('register'));
        }

        $request->session()->reflash();

        return view('auth.code');
    }

    public function token(Request $request)
    {
        $request->validate([
            'token' => 'required'
        ]);

        if(! $request->session()->has('phone')) {
            return redirect(route('phone.token'));
        }

        $user = User::findOrFail($request->session()->get('auth.user_id'));
        $status = ActiveCode::verifyCode($request->token , $user);

        if($status) {
            $user()->activeCode()->delete();
            return redirect(route('rule'));
        } else {
            // alert()->error('شماره تلفن و احرازهویت دو مرحلهای شما تایید نشد.' , 'عملیات ناموفق بود');
            return redirect(route('phone.token'));
        }

        return redirect(route('phone.token'));

    }

فکر میکنم بخاطر این تیکه کد باشه که به 404 هدایت میشه

        $user = User::findOrFail($request->session()->get('auth.user_id'));

وقتی به این شکل مینویسم

        $user = User::find($request->session()->get('auth.user_id'));

ارور زیر نمایش میده

call to a member function activecode() on null

اینجا کاربر هنوز لاگین نیست و ارور میده فقط من چجوری باید چک کنم این بخشو و دلیت کنم از دیتابیس؟


ثبت پرسش جدید
زهرا اخوان
تخصص : کارمند
@AKHAVANZ 2 سال پیش مطرح شد
0

سلام منظورتون ارور 404 هست ؟
اگر ارور 404 را میگین که یعنی این ip در سرور یافت نشده


Paradox
تخصص : در حال یادگیری
@paradox 2 سال پیش آپدیت شد
0

بله نمیدونم چجوری رفع کنم این مشکل رو

میخوام بعد اینکه کد برای کاربر ارسال شد و اگر کد درست بود از دیتابیس کد حذف بشه و کاربر به صفحه بعد که قوانین هست هدایت بشه


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

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