Laravel提交按钮重新路由到主页

时间:2016-08-30 13:49:36

标签: php laravel

所以我使用了默认的注册表格Laravel。

制作注册表副本,使其略有不同。

基本上有两种注册表格

  1. Starter - original

  2. 青铜 - 复制

  3. - 我的路由列表 -

    Auth::routes();
    Route::get('/register', function(){
      return View::make('auth.register');
    });
    
    Route::get('/bronze', function(){
      return View::make('auth.bronze');
    });
    
    Route::get('/login', function(){
      return View::make('auth.login');
    });
    

    现在,每当我提交青铜注册表格时,它都会将我重定向到我的主页。

    我想在我看来可能是我的行动召唤。这与Starter Form

    相同
    <form class="form-horizontal" role="form" method="POST" action="{{ url('/register') }}">
    

    如果我纠正我刚刚做的不好的做法,但我是这个框架的新人。

2 个答案:

答案 0 :(得分:0)

您需要显式添加POST路由,因为Auth::routes()方法只处理对/register的调用:

Route::post('/bronze', 'Auth\RegisterController@register');

并确保您将铜牌表格提交到同一路线:

<form class="form-horizontal" role="form" method="POST" action="/bronze">

或者,也许是一个更好的解决方案,就是使用相同的注册表单,并为他们的帐户类型选择提供输入:

<form class="form-horizontal" role="form" method="POST" action="/register">

    <input type="radio" name="type" id="type-starter" value="starter">
    <label for="type-starter">Starter</label>

    <input type="radio" name="type" id="type-bronze" value="bronze">
    <label for="type-bronze">Bronze</label>

答案 1 :(得分:0)

旧问题但有类似问题。

如果您启用了中间件,请不要忘记在所有表单中加入csrf令牌。

现在,它就像调用刀片助手一样简单:

<form action="..." method="...">
    @csrf
    ...
</form>