Php Codeigniter简单登录错误

Php Codeigniter简单登录错误,php,codeigniter,Php,Codeigniter,我在尝试实现简单的登录应用程序时遇到了这个Codeigniter错误,但当我插入电子邮件和密码登录表单时,它会以相同的表单响应,我无法登录 这是我的模型函数: class User_model extends CI_Model { public function __construct() { parent::__construct(); } function login($email,$password) { $this->db->where("email",$e

我在尝试实现简单的登录应用程序时遇到了这个Codeigniter错误,但当我插入电子邮件和密码登录表单时,它会以相同的表单响应,我无法登录

这是我的模型函数:

class User_model extends CI_Model {
 public function __construct()
 {
  parent::__construct();
 }
 function login($email,$password)
 {
  $this->db->where("email",$email);
  $this->db->where("password",$password);

  $query=$this->db->get("user");
  if($query->num_rows()>0)
  {
   foreach($query->result() as $rows)
   {
    //add all data to session
    $newdata = array(
      'user_id'  => $rows->id,
      'user_name'  => $rows->username,
      'user_email'    => $rows->email,
      'logged_in'  => TRUE,
    );
   }
   $this->session->set_userdata($newdata);
   return true;
  }
  return false;
  }
控制器:

class User extends CI_Controller{
 public function __construct()
 {
  parent::__construct();
  $this->load->model('user_model');
 }

 public function index()

 {
  if(($this->session->userdata('user_name')!=""))
  {
   $this->welcome();
  }
  else{
   $data['title']= 'Home';
   $this->load->view('header_view',$data);
   $this->load->view("registration_view.php", $data);
   $this->load->view('footer_view',$data);
  }
 }
 public function welcome()
 {
  $data['title']= 'Welcome';
  $this->load->view('header_view',$data);
  $this->load->view('welcome_view.php', $data);
  $this->load->view('footer_view',$data);
 }
 public function login()
 {
  $email=$this->input->post('email');
  $password=md5($this->input->post('pass'));

  $result=$this->user_model->login($email,$password);
  if($result) $this->welcome();
  else        $this->index();
 }
视图:

<div id="content">
<div class="signup_wrap">
<div class="signin_form">
 <?php echo form_open("user/login"); ?>
  <label for="email">Email:</label>
  <input type="text" id="email" name="email" value="" />
  <label for="password">Password:</label>
  <input type="password" id="pass" name="pass" value="" />
  <input type="submit" class="" value="Sign in" />

电邮:
密码:

用户如何注册?您正在检查user_name会话变量,以查看它是否为空,而不是实际键入的电子邮件,以便显示欢迎屏幕。可以在数据库中完全填写电子邮件和密码,但由于您在条件行中检查的是用户名:

if(($this->session->userdata('user_name')!="")) 
如果结果为空,您将看到索引() 如果坚持使用此方法,请确保已填充用户表中的用户名列。或者,使用此条件中的电子邮件列,鉴于您的实现,我建议您这样做,因为他们使用电子邮件地址而不是用户名登录(意味着使用单个名称而不是电子邮件地址)

此外,您还可以检查您的登录会话变量,这就是它的用途。仍在检查代码以查找其他问题,但这些问题对我来说是潜在的问题区域


你再多了解一点肯定会有帮助的。您是否已转储会话数据或行数据以查看实际返回的内容?email=0没有意义

您确定密码未加密?会发生什么情况?你尝试了什么,结果如何?当你回显新添加的VAR等时会发生什么?当我输入电子邮件和密码时,它会以清晰的形式响应,并且不能直接指向其他函数,我发现mySql数据库加密为Email=0和password=9193cethanks man我尝试了你的建议,但我仍然遇到同样的问题。
if(($this->session->userdata('user_email')!=""))