2014-12-04 150 views
0

您好我的登录页面我忘记了密码链接。从那里我必须发送重置密码链接给用户。我希望我所做的一切都正确,但仍然收到“MethodNotAllowedHttpException”错误。Laravel 4.2中的MethodNotAllowedHttpException

HTML代码

<form action="/user/sendresetlink" method="post" id="forgot_password_form" name="forgot_password_form"> 

    <label for="name" class="col-xs-4 control-label">User Name</label> 
    <input type="text" id="user_name" name="user_name" class="form-control" /> 

    <button type="submit" class="btn bg-olive btn-block">Send</button> 

</form> 

路由器代码

Route::resource('user', 'UserController'); 

这里我有UserController中,其中laravel需要基本的CRUD路线的护理中提到的资源。

Route::get('login', '[email protected]'); 

Route::post('/user/store','[email protected]'); 

Route::get('logout', '[email protected]'); 

Route::get('forgot_password','[email protected]'); 

Route::post('sendresetlink','[email protected]'); 

我已经提到了sendresetlink作为文章和调用控制器。它甚至没有去控制器。

Route::group(array('before' => 'auth'), function() 
{ 
    Route::get('/jobs', '[email protected]_list'); 
}); 

控制器代码

public function sendResetLink() 
{ 
    $form_data = Input::all(); 
    echo '<PRE>'; 
    print_r($form_data); 
    exit; 
} 

我在做什么错在这里?我错过了什么?

注:我已经在另一台机器上安装了laravel并将代码复制到当前机器上。可能是因为这个原因,我的PHP工匠没有工作。当我在命令提示符下尝试php工匠时,它表明'php'不被识别为任何内部外部命令。我试图在php.exe文件夹中安装composer。即使那样也没用。

回答

1

的app/routes.php文件你写

Route::post('sendresetlink','[email protected]'); 

虽然在表单动作你有

<form action="/user/sendresetlink" method="post" id="forgot_password_form" name="forgot_password_form"> 

您可以通过更改应用程序/ routes.php文件来

Route::post('user/sendresetlink','[email protected]'); 
解决这个问题

您的路线与表单操作之间存在匹配错误。 /user/ sendresetlink,只是sendresetlink。

+0

谢谢Oded Dwek。我完全错过了! – Kiran 2014-12-04 08:47:38

1

更换

Route::post('sendresetlink','[email protected]');

随着

Route::post('/user/sendresetlink','[email protected]');

,它会工作得很好。

说明:

你的形式action<form action="/user/sendresetlink" ...

与上面显示应与Route::POSTURL参数相匹配。

+0

谢谢神秘。我忽略了这一点!非常感谢你的帮助。 – Kiran 2014-12-04 08:48:48

相关问题