用户登录模型Codeigniter的错误 [英] Errors For User Login Model 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屋!