پوریا مستعان
3 سال پیش توسط پوریا مستعان مطرح شد
1 پاسخ

نمایش کد شبیه به json هنگام ریدایرکت در لاراول

سلام خدمت دوستان
من توی سایت یه فرم ثبت نام کاربر دارم که ایمیل و نام و شماره تماس و رمزعبور رو میگیره، برای فعال سازی شماره تماسش بعد از پر کردن فرم یک کد برای گوشیش ارسال میشه که باید اون کد رو توی صفحه بعدی که یه input برای وارد کردن اون کد هست رو وارد کنه، این کار قبلا بدون هیچ مشکلی انجام می شد، اما الان جدیدا یه مدتی هست که بعد از اینکه توی فرم ثبت نام روی ثبت کلیک میکنیم قبل از اینکه بره توی فرم وارد کردن کد ارسال شده به گوشی متن زیر رو نمایش میده :

{"result":{"code":200,"message":"success"},"items":[2715153854]} redirecting to https://thermotajhiz.com/register/phone

توی متد register چون یک session از نوع flash برای نگه داری شماره موبایل ذخیره میشه، وقتی قبلش میره توی این ریدایرکت پس session میپره و برمیگرده توی فرم ثبت نام.
روت register/phone همون روتی هست برای نمایش input که کد ارسال شده رو وارد کنه.
روت ها و کدهای توی controller رو میذارم براتون :
روت های ثبت کد ارسال شده

Route::get('/register/phone', 'Auth\RegisterController@showTokenForm')->name('register.token');
Route::post('/register/phone', 'Auth\RegisterController@postTokenForm');

متد register

public function register(Request $request)
    {
        $request->validate([
            'name' => ['required', 'string', 'max:255'],
            'password' => ['required', 'string', 'min:8', 'confirmed'],
            'phone_number' => [
                'required',
                'min:11',
                'max:11',
                Rule::unique('users')
            ]
        ]);

        $user = User::create([
            'name' => $request['name'],
            'email' => $request['email'],
            'password' => $request['password'],
        ]);

        $code = ActiveCode::generateCode($user);
        $request->session()->flash('phone', $request['phone_number']);
        $request->session()->flash('auth', ['user_id' => $user->id]);

        $user->notify(new ActiveCodeNotification($code, $request['phone_number']));

        $this->guard()->login($user);

        return redirect()->route('register.token');

    }

متد showTokenForm

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

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

        return view('auth.register-token');
    }

این نکته رو هم در آخر بگم که روی لوکال دقیقا با همین کد ها به درستی کار میکنه و اون پیغام قبل از ریدایرکت شدن رو ندارم اما روی هاست این اتفاق افتاده
اینم تصویر اون کد
پیغام قبل از ریدایرکت

@hesammousavi @mohaligateway @AliValinejad


ثبت پرسش جدید
پوریا مستعان
تخصص : Full-Stack Developer
@pooriya.mostaan 3 سال پیش مطرح شد
0

دوستان مشکل رو پیدا کردم و اینجا براتون میگم تا اگر در آینده به این مشکل خوردید برطرفش کنید.
مشکل اصلا از کد ها نبود و از تنظیمات سرور بود که با تغییر سرور این اتفاق افتاده بود، حالا مشکل دقیقا از کجا بود ؟
مشکل از ورژن PHP که تغییر کرده بود و با قرار دادن ورژن روی inherit مشکل کاملا برطرف شد.


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

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