1

我有一个注册表,它一直在工作,直到它没有。我确信我对代码做了一些事情,因为我是 laravel 4 的新手,所以我无法确定我的错误行为。现在我得到

此网页有重定向循环。

这是路由文件:

Route::get('/','MainController@index');

Route::get('/login', 'MembersController@login');

Route::get('/signup', 'MembersController@signup');

/*handled by controller to register the user that signed up*/
Route::get('/register', 'MembersController@register');

/* Handle authenticating a user when loggin in*/


Route::post('register', array(
  'uses' => 'MembersController@register',
  'as' => 'members.register'
));

这是表格的开头:

@section('content')
{{ Form::open(array('route' => 'members.register')) }}    

......

{{ Form::close() }}
@stop

这是验证,如果出现错误,它会再次重定向到注册页面并显示它们(它一直这样做直到它崩溃)

public function register()
    {
        $rules = array(
            # place-holder for validation rules
            'firstname' => 'Required|Min:3|Max:40|Alpha',
            'lastname' => 'Required|Min:3|Max:40|Alpha',
            'email'     => 'Required|Between:3,64|Email|Unique:users',
            'country'       => 'Required',
            'password'  =>'Required|AlphaNum|Between:7,15|Confirmed',
            'password_confirmation'=>'Required|AlphaNum|Between:7,15'

        );

        /*Create new user if no user with entered email exists. Use validator to ensure all fields are completed*/
        $user = new User;

        $validator = $this->validate(Input::all(), $rules);
        if ($validator->fails())
        {

            return Redirect::to('register')->withErrors($validator);

        }else{
            echo "Success";
        }

    }

谢谢您的帮助 :)

4

1 回答 1

3

更改以下行

return Redirect::to('register')->withErrors($validator);

有了这个

return Redirect::back()->withInput()->withErrors($validator);

您正在无限次调用路由寄存器。

也删除这条路线。您只需要发布路线。

/*handled by controller to register the user that signed up*/
Route::get('/register', 'MembersController@register');
于 2013-12-08T10:16:36.947 回答