【问题标题】:Undefined variable: query未定义变量:查询
【发布时间】:2015-09-03 13:09:19
【问题描述】:

我正在尝试使用 Codeigniter 创建一个登录系统,它给了我这个错误消息,我似乎找不到任何解决方案:

消息:未定义变量:查询

文件名:controllers/login.php

行号:18

这是我的控制器:

<?php
     class Login extends CI_Controller {
     function index()
        {
        $data['main_content'] = 'login_form';
         $this->load->view('includes/template', $data);
        }


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

if($query) 
{
    $data = array(
     'username' => $this->input->post('username'),
     'is_logged_in' => true
        );

    $this->session->set_userdata($data);
    redirect('site/members_area');

}
        else 
     {
    $this->index();
    }
}
}

这是我的模特:

 <?php
        Class Membership_model extends CI_Model {

        function validate()

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

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

        }
            }
?>

这是视图:

<div id="login_form">
 <h1>Login, fool!</h1>
 <?php 
    echo form_open('login/validate_credentials');
    echo form_input('username', 'Username');
    echo form_input('password', 'Password');
    echo form_submit('submit', 'Login');
    echo anchor('login/signup', 'Create Account');
 ?>
</div>

【问题讨论】:

  • 提问时请格式化您的代码
  • 显示问题的格式不好,请尝试编辑代码并重试,以便您能够快速获得响应。

标签: php codeigniter login


【解决方案1】:

使用这个,

$query = $this-&gt;membership_model-&gt;validate();

【讨论】:

    【解决方案2】:

    控制器的方法中不存在 $query 变量。你应该使用

    $query =  $this->membership_model->validate();
    

    它将发送验证的布尔状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多