【问题标题】: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 看到了......正如他之前在这里回答的那样......但是是的。我会把它作为一个答案。谢谢

标签: php forms laravel routes


【解决方案1】:
Route::post('/signin',[
    'uses' => 'userController@postSignIn',
    'as' => 'signin'
]);

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

【讨论】:

    【解决方案2】:

    将发布路线更改为:

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

    【讨论】:

    • 抱歉没有看到评论。删除答案?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    • 2014-08-22
    • 2020-09-04
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多