Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在codeigniter中重定向到我指定的页面_Php_Html_Mysql_Codeigniter - Fatal编程技术网

Php 如何在codeigniter中重定向到我指定的页面

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

我已经使用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 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)