提交表单时重定向到错误的路线

Posted

技术标签:

【中文标题】提交表单时重定向到错误的路线【英文标题】:Redirecting to the wrong route when submitting the form 【发布时间】:2017-10-11 22:12:38 【问题描述】:

我正在提交我的登录表单并定义路由 action="route('signin')" 但它会将用户重定向到登录路由。

表格代码在这里。

<form  action="route('signin')" method="post" role="form">

                   <div class="form-group  $errors->has('email') ? ' has-error' : '' ">
                       <label>Enter Email : </label>

                           <input placeholder="Enter Email" name="email" type="text" class="form-control" value="Request::old('email')">
                           @if ($errors->has('email'))
                               <span class="help-block">
                                <strong> $errors->first('email') </strong>
                            </span>
                           @endif

                    </div>


                    <div class="form-group  $errors->has('password') ? ' has-error' : '' ">
                        <label>Enter  Password :</label>
                        <input placeholder="Enter Password" type="password" name="password" class="form-control" value="Request::old('password')">
                           @if ($errors->has('password'))
                               <span class="help-block">
                                <strong> $errors->first('password') </strong>
                            </span>
                           @endif

                    </div>

                csrf_field()
                    <input class="btn btn-outline btn-danger" type="submit" value="submit" title="Login">


            </form>

路线中的代码在这里。

 Route::get('/login',[
    'uses' => 'userController@user',
    'as' => 'login'
]);
 Route::post('/signin',[
    'uses' => 'userController@postSignIn',
    'as' => 'signin',
    'middleware'=>'auth',
]);

【问题讨论】:

我在解码中没有看到表单开始标签 好的,让我更新一下我的问题。 从您的登录路径中移除“中间件”。它会在您实际输入方法之前重定向您。 @Alex,在回答之前没有人看到 cmets。所以,如果你确定你的答案,把它作为答案而不是评论 嗯,我敢肯定@RaymondNijland 看到了......正如他之前在这里回答的那样......但是是的。我会把它作为一个答案。谢谢 【参考方案1】:
Route::post('/signin',[
    'uses' => 'userController@postSignIn',
    'as' => 'signin'
]);

只需删除“auth”中间件,因为它不允许在登录前访问该方法。

【讨论】:

【参考方案2】:

将发布路线更改为:

Route::post('/signin',[
  'uses' => 'userController@postSignIn',
  'as' => 'signin',
]);

【讨论】:

抱歉没有看到评论。删除答案?

以上是关于提交表单时重定向到错误的路线的主要内容,如果未能解决你的问题,请参考以下文章

javascript 在提交联系表单7时重定向到URL,将以下代码放入您要重定向的表单上的“其他设置”选项卡中

javascript 在提交联系表单7时重定向到URL,将以下代码放入您要重定向的表单上的“其他设置”选项卡中

防止表单提交重定向

提交表单 Laravel 后重定向到不同的路由

我希望我的 php 表单提交数据并在同一页面但不同的选项卡上重定向

在 Laravel 中提交表单后如何重定向确认页面?