gpt4 book ai didi

php - 未定义的属性:CI::$session

转载 作者:可可西里 更新时间:2023-11-01 12:43:09 28 4
gpt4 key购买 nike

我无法在我的登录页面上加载我的模型。这里的 session 有问题。我有一个安全类助手,$key 是其中的一部分。但我认为这与错误所说的 session 有关。

我想我已经设置了 num rows correct 不确定是否也可能是它的原因。

A PHP Error was encountered
Severity: Notice
Message: Undefined property: CI::$session
Filename: core/Model.php
Line Number: 51

模型

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Users_model extends CI_Model {

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

public function __construct() {

if (isset($this->session->userdata['user_id'])) {
$user_query = $this->db->query("SELECT * FROM " . $this->input->post('dbprefix') . "user WHERE user_id = '" . (int)$this->session->userdata['user_id'] . "' AND status = '1'");

if ($user_query->num_rows) {
$this->user_id = $user_query->row['user_id'];
$this->username = $user_query->row['username'];

$this->db->query("UPDATE " . $this->input->post('dbprefix') . "user SET ip = '" . $this->db->escape($this->input->server['REMOTE_ADDR']) . "' WHERE user_id = '" . (int)$this->session->userdata['user_id'] . "'");

$user_group_query = $this->db->query("SELECT permission FROM " . $this->input->post('dbprefix'). "user_group WHERE user_group_id = '" . (int)$user_query->row['user_group_id'] . "'");

$permissions = unserialize($user_group_query->row['permission']);

if (is_array($permissions)) {
foreach ($permissions as $key => $value) {
$this->permission[$key] = $value;
}
}
} else {
$this->logout();
}
}
}

public function login($username, $password) {
$user_query = $this->db->query("SELECT * FROM " . $this->input->post('dbprefix') . "user WHERE username = '" . $this->db->escape($username) . "' AND (password = SHA1(CONCAT(salt, SHA1(CONCAT(salt, SHA1('" . $this->db->escape($password) . "'))))) OR password = '" . $this->db->escape(md5($password)) . "') AND status = '1'");

if ($user_query->num_rows) {
$this->session->userdata['user_id'] = $user_query->row['user_id'];

$this->user_id = $user_query->row['user_id'];
$this->username = $user_query->row['username'];

$user_group_query = $this->db->query("SELECT permission FROM " . $this->input->post('dbprefix') . "user_group WHERE user_group_id = '" . (int)$user_query->row['user_group_id'] . "'");

$permissions = unserialize($user_group_query->row['permission']);

if (is_array($permissions)) {
foreach ($permissions as $key => $value) {
$this->permission[$key] = $value;
}
}

return true;
} else {
return false;
}
}

最佳答案

如果您在代码中使用 session ,请确保通过设置加密 key 在 config.php 文件中自动加载。如果您不自动加载它,那么您可以使用 $this->load->library('session') 加载它。但是您必须设置加密 key 才能在 Controller 功能中自动加载或加载 session 。

这里有详细信息。 Working with sessions in codeigniter

关于php - 未定义的属性:CI::$session,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23978239/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com