Codeigniter form_open()

时间:2014-03-10 17:37:46

标签: forms codeigniter

我在视图中有form_open,我想将这些数据发送给控制器,但我不知道如何在控制器中读取和显示这些数据。

<?php echo form_open('Login/login'); ?>
 <h4 class="form-signin-heading"> <i class="fa fa-user"> &nbsp Panel logowania: </i></h4>
 <input type="email" name="username" class="form-control" style="margin-bottom:7px;" placeholder="Email address" required autofocus>
 <input type="password" name="password" class="form-control" placeholder="Password" required>
  <label class="checkbox">
  <small>
  <input type="checkbox" value="remember-me"> Zapamiętaj mnie
  </small>
  </label>
  <button class="btn btn-sm btn-primary btn-block" style="margin-bottom: 5px;" type="submit">Logowanie</button>
<?php  echo form_close(); ?>

控制器输入的显示价值如何?

2 个答案:

答案 0 :(得分:1)

在Controller中,您不必显示数据,只需从表单中获取数据并对其进行操作即可保存到数据库中或显示在另一个视图中。

要从表单获取数据,您只需使用输入类:

$this->input->post();

$this->input->get();

基于您在表单中设置的方法。

最好的方法是使用表单帮助器和表单验证类,这样你就可以在输入之前检查输入。

让我们使用你的表单,并假设这是生成它的控制器:

public function login()
{
    //Load library
    $this->load->library('form_validation');

    //Set the rules
    $this->form_validation->set_rules('username', 'Username', 'required');
    $this->form_validation->set_rules('password', 'Password', 'required');

    if( $this->form_validation->run() )
    {
        //The form is correct
        $email = $this->input->post('username'); //I get this from you form
        $password = $this->input->post('password');

        //Do what you need to do
    }
    else
    {
        //Show the form again and in the view handle the error messages
        $this->load->view('login_view')
    }
}

答案 1 :(得分:0)

要访问控制器中的POST数据,您可以使用系统自动加载的input class。您想要执行以下操作

class Login extends CI_Controller
{
    function login()
    {
        $username = $this->input->post('username');
        $password = $this->input->post('password');

        //Do something with username and password
    }
}