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

标签 php html mysql codeigniter

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

相关文章:

html - 列表全尺寸边框

c# - 在按键事件中将 TextBox 对齐到页面中间

c# - 如何以C#形式显示mysql表中的数据?

mysql - 使用 .order 根据用户在 Rails 4 表中的排名返回一个值

javascript - php和javascript插入行并给出提示

php - 使用 LIKE 为 postgresql 表编写 php sql 查询的问题

php - PHP 中是否有类似于整数的 substr() 的函数?

php - Mysql Insert With PHP - 空格后不允许有字符。

html - 在 Angular 2 中输入具有不同显示文本和值的文本元素

php 警告 - 为 foreach() 提供的参数无效