提交laravel中的帖子数据

时间:2014-03-13 07:09:43

标签: php laravel

我无法让表单提交工作。按提交后,表示找不到控制器。即使我已经在我的控制器类中定义了。我想要的是在控制器中的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');

2 个答案:

答案 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')); ?>