Php 如何在codeigniter中重定向到我指定的页面
我已经使用codeigniterframework创建了一个登录页面Php 如何在codeigniter中重定向到我指定的页面,php,html,mysql,codeigniter,Php,Html,Mysql,Codeigniter,我已经使用codeigniterframework创建了一个登录页面 在我创建的models文件夹中 login\u model.php class Login_model extends CI_Model { //CI version 3.0 function validate_login() { $this->db->where('username', $this->input->post('username'));//this is form userna
在我创建的
models
文件夹中login\u model.php
class Login_model extends CI_Model
{ //CI version 3.0
function validate_login()
{
$this->db->where('username', $this->input->post('username'));//this is form username
$this->db->where('password', md5($this->input->post('password')));//this is form password
$query = $this->db->get('membership'); //database autoloaded
if($query->num_rows == 1)
{
return true;
}
}
}
我认为这之后一切都很好在我创建的
控制器
文件夹中login\u control.php
class Login_control extends CI_Controller
{
function index()
{
$data['main_content'] = 'login_view';
$this->load->view('includes/template', $data);
}
function validate_credential() {
$this->load->model('login_model');
$query = $this->login_model->validate_login();
//redirect('logged_site/members_area');
if($query)//if user credential validate!. run following events
{
$newdata = array(
'username' => $this->input->post('username'),
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
redirect('logged_site/members_area');
}
else
{
$this->index();
}
}
}
这里,如果我直接重定向到members\u区域
页面,它的工作如下
redirect('logged_site/members_area');
在第行上方的注释之后,我使用了if/else
条件来验证查询,但是在这个条件之后,编码并没有重定向到指定的页面,并且没有任何错误,只是停留在$this->index()中代码>页面,可在else
部分中找到。
请帮帮我哪里出错了 你喜欢这样吗
在控制器中
if($query == true) # check true
{
$newdata = array(
'username' => $this->input->post('username'),
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
redirect('logged_site/members_area');
}
else
{
$this->index();
}
在型号中
class Login_model extends CI_Model
{
function validate_login()
{
$this->db->where('username', $this->input->post('username'));//this is form username
$this->db->where('password', md5($this->input->post('password')));//this is form password
$query = $this->db->get('membership'); //database autoloaded
$result = $query->result_array();
$count = count($result) # add
if($count == 1) #changed
{
return true;
}
else
{
return false;
}
}
}
您的型号出现错误validate\u login()
更改:
if($query->num_rows == 1)
致:
您所说的$this->index();,是什么意思;?如果条件为false,则转到登录视图page@HaitherAli现在检查您是否尝试回显$query值?注意:md5不再适用于不安全的登录密码,并且它很旧。这是当前哈希密码和
if($query->num_rows() == 1)