Php 重定向功能不起作用。共点火器

Php 重定向功能不起作用。共点火器,php,codeigniter,Php,Codeigniter,重定向函数不起作用,如果我删除if-else语句,它就会起作用。有人能帮我吗 function validate_credentials() { $this->load->model('membership_model'); $query = $this->membership_model->validate(); if($query) { $data = array( 'username' =&g

重定向函数不起作用,如果我删除if-else语句,它就会起作用。有人能帮我吗

function validate_credentials()
{
    $this->load->model('membership_model');
    $query = $this->membership_model->validate();

    if($query)
    {
        $data = array(
            'username' => $this->input->post('username'),
            'is_logged_in' => true
            );  
        $this->session->set_userdata($data);
        redirect('/site/main_menu','refresh');
    }
    else
    {
        $this->index();
    }

扩展Minhaz Ahmed评论,使您的模型

public function validate(){
        $this->db->where('username',$this->input->post('username'));
        $this->db->where('password',md5($this->input->post('password')));
        $query=$this->db->get('memberships');

        if($query->num_rows == 1){
            return true;
        }
    } 

var\u dump($query)并检查值。如果它是
FALSE
,请找出原因。我不知道哪里出了问题。您是否按照我上面的建议使用了
var\u dump()
?如果您这样做了,结果是什么?结果是空的—有些东西工作不正常。代码中运行的是您的
else
子句。它之所以运行,是因为您的
$query
不返回任何内容(
null
),或者它返回
false
。检查您的
成员资格\u model->validate()
是否存在查询错误。