Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重定向在Laravel中无法正常工作,并在重定向前显示消息_Php_Laravel_Laravel 8 - Fatal编程技术网

Php 重定向在Laravel中无法正常工作,并在重定向前显示消息

Php 重定向在Laravel中无法正常工作,并在重定向前显示消息,php,laravel,laravel-8,Php,Laravel,Laravel 8,我有一个登记表,在这个表中我得到一些数据,比如电话号码 提交表单后,用户将被重定向到注册电话页面,以注册带有已发布代码的电话 当用户提交表单时,SMS将被发送,但用户将被重定向到注册表单并显示此消息: 但用户必须重定向并保持令牌形式 这是寄存器控制器: $request->validate([ 'name' => ['required', 'string', 'max:255'], 'password' => ['required', 'str

我有一个登记表,在这个表中我得到一些数据,比如电话号码

提交表单后,用户将被重定向到注册电话页面,以注册带有已发布代码的电话

当用户提交表单时,SMS将被发送,但用户将被重定向到注册表单并显示此消息:

但用户必须重定向并保持令牌形式

这是寄存器控制器:

$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');
}