سلام خدمت دوستان
من توی سایت یه فرم ثبت نام کاربر دارم که ایمیل و نام و شماره تماس و رمزعبور رو میگیره، برای فعال سازی شماره تماسش بعد از پر کردن فرم یک کد برای گوشیش ارسال میشه که باید اون کد رو توی صفحه بعدی که یه 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');
}
این نکته رو هم در آخر بگم که روی لوکال دقیقا با همین کد ها به درستی کار میکنه و اون پیغام قبل از ریدایرکت شدن رو ندارم اما روی هاست این اتفاق افتاده
اینم تصویر اون کد
دوستان مشکل رو پیدا کردم و اینجا براتون میگم تا اگر در آینده به این مشکل خوردید برطرفش کنید.
مشکل اصلا از کد ها نبود و از تنظیمات سرور بود که با تغییر سرور این اتفاق افتاده بود، حالا مشکل دقیقا از کجا بود ؟
مشکل از ورژن PHP که تغییر کرده بود و با قرار دادن ورژن روی inherit مشکل کاملا برطرف شد.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟