我无法让表单提交工作。按提交后,表示找不到控制器。即使我已经在我的控制器类中定义了。我想要的是在控制器中的getLoginauth函数中获取发布数据。
查看页面
<div class="panel-body">
<?php echo Form::open(array('action' => 'PortalController@getLoginauth')); ?>
<fieldset>
<div class="form-group">
<input class="form-control" placeholder="E-mail" name="email" type="email" autofocus>
</div>
<div class="form-group">
<input class="form-control" placeholder="Password" name="password" type="password" value="">
</div>
<div class="checkbox">
<label>
<input name="remember" type="checkbox" value="Remember Me">Remember Me
</label>
</div>
<!-- Change this to a button or input when using this as a form -->
<input type = "submit" class="btn btn-lg btn-success btn-block" value = "Login"/>
</fieldset>
<?php echo Form::close();?>
</div>
控制器页面
class PortalController extends BaseController
{
public function getIndex()
{
if (Auth::check())
{
return View::make('admin_index');
}else{
return Redirect::to('admin/login');
}
}
public function getLogin(){
return View::make('admin_login');
}
public function getLoginauth(){
echo 'here';
}
}
路线页面
Route::get('/', function()
{
return View::make('hello');
});
Route::controller('account' , 'AccountController');
Route::controller('admin' , 'PortalController');
Route::post('admin/loginauth', 'PortalController@getLoginauth');
答案 0 :(得分:0)
你的形式不是很好:
你有这样的路线:
Route::post('admin/loginauth', 'PortalController@getLoginauth');
您的网络表单在您的视图中如下所示:
<?php echo Form::open(array('action' => 'PortalController@getLoginauth')); ?>
将其更改为:
{{ Form::open(array('url' => 'admin/loginauth')) }}
对于您的提交按钮,请使用以下刀片命令,我认为这更加清晰。
{{ Form::submit() }}
答案 1 :(得分:0)
我通过从
更改控制器功能名称来使表单正常工作public function getLoginauth(){
echo 'here';
}
到
public function postLoginauth(){
echo 'here';
}
来自
的视图页面<?php echo Form::open(array('action' => 'PortalController@getLoginauth')); ?>
到
<?php echo Form::open(array('url' => 'admin/loginauth')); ?>