我已经使用 codeigniter 框架创建了一个登录页面
在我创建的 models
文件夹中
登录模型.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;
}
}
}
我觉得这之后一切都很好
在我创建的 controllers
文件夹中
登录控制.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_area
页面,它的工作方式如下
redirect('logged_site/members_area');
在上面的评论之后,我使用了 if/else
条件来验证查询,但是在这个条件编码之后没有重定向到指定的页面并且没有任何错误只是停留在 $this->index() ;
页面在 else
部分可用。
请帮助我哪里出错了?
最佳答案
您的模型 validate_login()
出错
改变:
if($query->num_rows == 1)
收件人:
if($query->num_rows() == 1)
关于php - 如何在 codeigniter 中重定向到我指定的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33797627/