我正在尝试一些非常基本的操作。我已经习惯了CI,现在正在学习Laravel 4,他们的文档并不容易!无论如何,我试图创建一个登录表单,并通过在下一个表单中打印数据来确保成功发布了数据。我收到此异常:Symfony \组件\ HttpKernel \异常\ MethodNotAllowedHttpException和我的MemberController.php: public function index() { if (Session::has('userToken')) { /*Retrieve data of user from DB using token & Load view*/ return View::make('members/profile'); }else{ return View::make('members/login'); } } public function validateCredentials() { if(Input::post()) { $email = Input::post('email'); $password = Input::post('password'); return "Email: " . $email . " and Password: " . $password; }else{ return View::make('members/login'); } }路线有:Route::get('/', function(){ return View::make('hello');});Route::get('/members', 'MemberController@index');Route::get('/validate', 'MemberController@validateCredentials');最后,我的视图login.php具有以下表单方向:<?php echo Form::open(array('action' => 'MemberController@validateCredentials')); ?>任何帮助将不胜感激。
3 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
我怀疑问题出在您的路线定义上。
您将路由定义为GET请求,但是表单可能正在发送POST请求。更改您的路线定义。
Route::post('/validate', 'MemberController@validateCredentials');
通常,更好的做法是使用命名路由(如果控制器方法/类发生更改,则有助于扩展)。
Route::post('/validate', array(
'as' => 'validate',
'uses' => 'MemberController@validateCredentials'
));
在表格中使用以下内容
<?php echo Form::open(array('route' => 'validate')); ?>
- 3 回答
- 0 关注
- 691 浏览
添加回答
举报
0/150
提交
取消