用户登录模型Codeigniter的错误 [英] Errors For User Login Model Codeigniter

查看:107
本文介绍了用户登录模型Codeigniter的错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的父函数中,我的用户模型有几个错误。只是试图这样做。如果$ user_query-> num_rows和我的isset会话用户数据。



致命错误:不能使用isset()函数调用的结果null!== func())在C:\xampp\htdocs\codeigniter-cms-1 \admin\application\modules\backend\models\user\user_model.php on第11行





解析错误:语法错误,意外的if(T_IF) \\ xampp\htdocs\codeigniter-cms-1\admin\application\modules\backend\models\user\user_model.php第15行

  private $ user_id; 
private $ username;
private $ permission = array();

public function __construct(){
parent :: __ construct();
if(isset($ this-> session-> set_userdata('user_id')){//错误

$ user_query = $ this-> db-> query SELECT * FROM。$ this-> input-> post('db_prefix')。user WHERE user_id ='(int)$ this-> session-> userdata('user_id')。 'AND status ='1')

if($ user_query-> num_rows == 1){//错误
$ this-> user_id = $ user_query-> row ('user_id');
$ this-> username = $ user_query-> row('username');
$ this-> db-> query(UPDATE。$ this > input> input('db_prefix')。user SET ip ='。$ this-> input-> ip_address()'WHERE user_id ='。 session-> userdata('user_id')。');
$ user_group_query = $ this-> db-> query(SELECT * FROM。$ this-> input-> post ('db_prefix')。user_group WHERE user_group_id ='。(int)$ query-> row('user_group_id')。');
} else {
$ this-> logout();
}
}
}

public function login($ username,$ password){
//仍在使用此部分
}

public function logout(){
$ this-> session-> unset_userdata('user_id');

$ this-> user_id ='';
$ this-> username ='';
}


解决方案

 <$ c $ 

c> $ this-> db-> query(UPDATE。$ this-> input-> post('db_prefix')。user SET ip ='。$ this-> input-> ip_address()'WHERE user_id ='。(int)$ this-> session-> userdata('user_id')。

  $ this-> db-> query(UPDATE。$ this-> input-> post('db_prefix')。user SET ip ='。 $ this-> input-> ip_address()。'WHERE user_id ='(int)$ this-> session-> userdata('user_id')。 

更新

  private $ user_id; 
priv $ username;
private $ permission = array();

public function __construct(){
parent :: __ construct();
if(isset($ this-> session-> set_userdata('user_id'))){//这里你错过了括号

$ user_query = $ this-> db - > query(SELECT * FROM。$ this-> input-> post('db_prefix')。user WHERE user_id ='。(int)$ this-> session-& ($ user_query-> num_rows()== 1){// num rows是function
$ this-user_id')'AND status ='1'

> user_id = $ user_query-> row('user_id');
$ this-> username = $ user_query-> row('username');
$ this-> db-> query(UPDATE。$ this-> input-> post('db_prefix')。user SET ip ='。$ this-& > ip_address()。'WHERE user_id ='。(int)$ this-> session-> userdata('user_id')。
$ user_group_query = $ this-> db-> query(SELECT * FROM。$ this-> input-> post('db_prefix')。user_group WHERE user_group_id ='。 )$ query-> row('user_group_id')。');
} else {
$ this-> logout();
}
}
}

public function login($ username,$ password){
//仍在使用此部分
}

public function logout(){
$ this-> session-> unset_userdata('user_id');

$ this-> user_id ='';
$ this-> username ='';
}


I am getting a couple of errors for my user model in my parent function. Just trying to make it this way. if $user_query->num_rows and also my isset session user-data.

Fatal error: Cannot use isset() on the result of a function call (you can use "null !== func()" instead) in C:\xampp\htdocs\codeigniter-cms-1\admin\application\modules\backend\models\user\user_model.php on line 11

and

Parse error: syntax error, unexpected 'if' (T_IF) in C:\xampp\htdocs\codeigniter-cms-1\admin\application\modules\backend\models\user\user_model.php on line 15

private $user_id;
private $username;
private $permission = array();

public function __construct() {
parent::__construct();
if(isset($this->session->set_userdata('user_id')) { // Error

$user_query = $this->db->query("SELECT * FROM " . $this->input->post('db_prefix') . "user WHERE user_id = '" . (int)$this->session->userdata('user_id') . "' AND status = '1'")

if($user_query->num_rows == 1) { // Error
    $this->user_id = $user_query->row('user_id');
    $this->username = $user_query->row('username');
    $this->db->query("UPDATE " . $this->input->post('db_prefix') . "user SET ip = '" . $this->input->ip_address() "' WHERE user_id = '" . (int)$this->session->userdata('user_id') . "'");
    $user_group_query = $this->db->query("SELECT * FROM " . $this->input->post('db_prefix')  . "user_group WHERE user_group_id = '" . (int)$query->row('user_group_id') . "'");
    } else {
       $this->logout();
    }
  }
}

public function login($username, $password) {
    // Still Working On This Part
}

public function logout() {
    $this->session->unset_userdata('user_id');

    $this->user_id = '';
    $this->username = '';
}

解决方案

you missed (.) in below line

change this code:

$this->db->query("UPDATE " . $this->input->post('db_prefix') . "user SET ip = '" . $this->input->ip_address() "' WHERE user_id = '" . (int)$this->session->userdata('user_id') . "'");

To

$this->db->query("UPDATE " . $this->input->post('db_prefix') . "user SET ip = '" . $this->input->ip_address()."' WHERE user_id = '" . (int)$this->session->userdata('user_id') . "'");

Update

private $user_id;
private $username;
private $permission = array();

public function __construct() {
parent::__construct();
if(isset($this->session->set_userdata('user_id'))) { // here you missed close bracket

$user_query = $this->db->query("SELECT * FROM  " . $this->input->post('db_prefix') . "user WHERE user_id = '" . (int)$this->session->userdata('user_id') . "' AND status = '1'")

if($user_query->num_rows() == 1) { // num rows is function
    $this->user_id = $user_query->row('user_id');
    $this->username = $user_query->row('username');
    $this->db->query("UPDATE " . $this->input->post('db_prefix') . "user SET ip = '" . $this->input->ip_address()."' WHERE user_id = '" . (int)$this->session->userdata('user_id') . "'");
    $user_group_query = $this->db->query("SELECT * FROM " . $this->input->post('db_prefix')  . "user_group WHERE user_group_id = '" . (int)$query->row('user_group_id') . "'");
    } else {
       $this->logout();
    }
  }
}

public function login($username, $password) {
    // Still Working On This Part
}

public function logout() {
    $this->session->unset_userdata('user_id');

    $this->user_id = '';
    $this->username = '';
}

这篇关于用户登录模型Codeigniter的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆