在Codeigniter中登录时出错

时间:2015-03-17 06:57:57

标签: php mysql codeigniter

您好我正在尝试在codeigniter中创建登录代码,它会出现以下错误

  

无法访问与您的字段名称对应的错误消息   用户名。
  无法访问与您的错误相对应的错误消息   字段名称密码。

Class Verifylogin extends CI_Controller
{
  function __construct()
  {
      parent::__construct();
      $this->load->model('user','',TRUE);
  }

  function index()
  {
      $this->load->library('form_validation');
      $this->form_validation->set_rules('username', 'username', 'trim|required|xss_clean');
      $this->form_validation->set_rules('password', 'password', 'trim|required|xss_clean|callback_check_database');

      if($this->form_validation->run()== FALSE)
      {
        //Field validation failed.  User redirected to login page
        $this->load->view('login_view');
      }
      else
      {
        //Go to private area
        redirect('Home', 'refresh');
      }
  }


  function check_database($password)
  {
      //Field validation succeeded.  Validate against database
      echo  $username = $this->input->post('username');


      //query the database
      echo  $result = $this->user->login($username, $password);

      if($result)
      {
          $sess_array = array();
          foreach($result as $row)
          {
            $sess_array = array(
            'id' => $row->id,
            'username' => $row->username
            );
            $this->session->set_userdata('logged_in', $sess_array);
          }
          return TRUE;
      }
      else
      {
          $this->form_validation->set_message('check_database', 'Invalid username or password');
          return false;
      }
  }
}

查看:

<html xmlns="w3.org/1999/xhtml">;

<head>
    <title>Admin Panel</title>
</head>

<body>
    <?php echo validation_errors(); ?>
    <?php echo form_open( 'verifylogin'); ?>
    <label for="username">Username:</label>
    <input type="text" size="20" id="username" name="username" />
    <br/>
    <br/>
    <label for="password">Password:</label>
    <input type="password" size="20" id="password" name="password" />
    <br/>
    <input type="submit" value="Login" /> </form>
</body>

</html>

0 个答案:

没有答案