[英]codeigniter login form is not displaying is i post
这是我的用户控制器
function login(){
$data['error']=0;
if($_POST){
$this->load->model('user');
$username=$this->input->post('username', true);
$password=$this->input->post('password', true);
$type=$this->input->post('user_type', true);
$user=$this->user->login($username,$password,$type);
if(!$user){
$data['error']=1;
} else {
$this->session->set_userdata('userID', $user['userID']);
$this->session->set_userdata('user_type', $user['user_type']);
redirect(base_url(). 'posts');
}
$this->load->view('header');
$this->load->view('login',$data);
$this->load->view('footer');
}
}
这是我的用户模型
function login($username,$password){
$where=array(
'username'=>$username,
'password'=>sha1($password),
'user_type'=>$type
);
$this->db->select()->from('users')->where($where);
$query=$this->db->get();
return $query->first_row('array');
}
这是我的看法
<?php if($error==1){ ?>
<p>Your Identity is wrong</p>
<?php } ?>
<form action="<?php echo base_url()?>users/login" method="POST">
<p>User Name: <input type="text" name="username" /></p>
<p>Password: <input type="password" name="password" /></p>
<p><input type="submit" value="login" /></p>
</form>
不是问题是在视图上,如果我仅从用户控制器中删除if($ _ post),则不会显示(form view'login')表单,但是它可以正常工作,但是在我的控制器上我有没有误解的地方模型或视图
我的表就像('username','password','email','user_type')
问候,提前获得任何提示
您正在if($_POST)
条件内加载视图页面。 首先, if($_POST)
为false,则不会加载视图。
因此,您需要更正它。
只需使用:
function login(){
$data['error']=0;
$this->load->model('user');
$username=$this->input->post('username', true);
$password=$this->input->post('password', true);
$type=$this->input->post('user_type', true);
$user=$this->user->login($username,$password,$type);
if(!$user){
$data['error']=1;
} else {
$this->session->set_userdata('userID', $user['userID']);
$this->session->set_userdata('user_type', $user['user_type']);
redirect(base_url(). 'posts');
}
$this->load->view('header');
$this->load->view('login',$data);
$this->load->view('footer');
}
它会完美地工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.