Php 重定向在Laravel中无法正常工作,并在重定向前显示消息
我有一个登记表,在这个表中我得到一些数据,比如电话号码 提交表单后,用户将被重定向到注册电话页面,以注册带有已发布代码的电话 当用户提交表单时,SMS将被发送,但用户将被重定向到注册表单并显示此消息: 但用户必须重定向并保持令牌形式 这是寄存器控制器:Php 重定向在Laravel中无法正常工作,并在重定向前显示消息,php,laravel,laravel-8,Php,Laravel,Laravel 8,我有一个登记表,在这个表中我得到一些数据,比如电话号码 提交表单后,用户将被重定向到注册电话页面,以注册带有已发布代码的电话 当用户提交表单时,SMS将被发送,但用户将被重定向到注册表单并显示此消息: 但用户必须重定向并保持令牌形式 这是寄存器控制器: $request->validate([ 'name' => ['required', 'string', 'max:255'], 'password' => ['required', 'str
$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');
这是寄存器和令牌的路由:
Route::get('/register/phone', 'Auth\RegisterController@showTokenForm')->name('register.token');
Route::post('/register/phone', 'Auth\RegisterController@postTokenForm');
这就是showTokenForm方法:
public function showTokenForm(Request $request)
{
if (!$request->session()->has('phone')) {
return redirect(route('register'));
}
$request->session()->reflash();
return view('auth.register-token');
}
我选中了会话(“电话”),会话将正确注册
更新
我没有showTokenForm
方法中的会话
为什么我有这个消息,但我看不到令牌表单
这是重定向的预览:
因为您没有将phone作为参数传递,所以当它检查phone参数时,它没有找到它,它会将您重定向回注册,就像您那样(
返回重定向(route('register'));
)--重定向跟踪仅适用于get@PsyLogic我如何在这里做到这一点?使用单元测试它更好地测试您的请求和重定向,或者在您的浏览器上自己测试它
public function showTokenForm(Request $request)
{
if (!$request->session()->has('phone')) {
return redirect(route('register'));
}
$request->session()->reflash();
return view('auth.register-token');
}