Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter:将用户名变量添加到会话_Php_Codeigniter_Session - Fatal编程技术网

Php Codeigniter:将用户名变量添加到会话

Php Codeigniter:将用户名变量添加到会话,php,codeigniter,session,Php,Codeigniter,Session,大家好,我正在尝试在用户登录时从会话中的users表添加username字段。 会话保存在数据库中。 但我得到两条信息: 严重性:注意 消息:未定义变量:用户名 文件名:controllers/main.php 电话号码:43 严重性:注意 消息:未定义索引:用户名 文件名:controllers/main.php 电话号码:45 我错在哪里?“我整天都在想我错在哪里。 提前感谢。 这是我的型号: function getDataProfiloUtente($username) { $

大家好,我正在尝试在用户登录时从会话中的users表添加username字段。 会话保存在数据库中。
但我得到两条信息:

严重性:注意
消息:未定义变量:用户名
文件名:controllers/main.php 电话号码:43

严重性:注意
消息:未定义索引:用户名
文件名:controllers/main.php 电话号码:45

我错在哪里?“我整天都在想我错在哪里。 提前感谢。
这是我的型号:

function getDataProfiloUtente($username) {

    $query = $this->db
            ->where('username', $username)
            ->limit(1)
            ->get('users');
    return $query->row();
}
$utente['records'] = $this->model_users->getDataProfiloUtente($username);
        $data = array(
             'username' => $utente['username'],
             'is_logged_in' => 1
        );

        $this->session->set_userdata($data);
这是我的控制器:

function getDataProfiloUtente($username) {

    $query = $this->db
            ->where('username', $username)
            ->limit(1)
            ->get('users');
    return $query->row();
}
$utente['records'] = $this->model_users->getDataProfiloUtente($username);
        $data = array(
             'username' => $utente['username'],
             'is_logged_in' => 1
        );

        $this->session->set_userdata($data);
这是我的观点:

<?php echo $this->session->userdata('username'); ?>

在我看来,您正在将数组分配给另一个具有索引
记录的数组
,因此要获取您的用户名,您必须执行以下操作:

$data = array(
    'username' => $utente['records']['username'],
    'is_logged_in' => 1
);

在我看来,您正在将数组分配给另一个具有索引
记录的数组,因此要获取您的用户名,您必须执行以下操作:

$data = array(
    'username' => $utente['records']['username'],
    'is_logged_in' => 1
);
这个

实际返回一个可以替代使用的对象(在模型中):

在控制器中:

//notice I removed the ['records'] index when assigning, 
//there's no need to store the result into an array
$utente = $this->model_users->getDataProfiloUtente($username);
然后使用对象或数组表示法访问列/字段:

 //if you use row() in your model
$utente->username;

//or if you used row_array in your model do:
//$utente['username'];
:

第()行

此函数返回单个结果行。如果您的查询包含多个 一行,它只返回第一行结果以文本形式返回 对象。下面是一个用法示例

还请注意您正在将结果保存到另一个数组中,如果需要这样做,您必须执行以下操作:

//if use row() and store the result in your array $utente['records']
$utente['records']->username;

这个

实际返回一个可以替代使用的对象(在模型中):

在控制器中:

//notice I removed the ['records'] index when assigning, 
//there's no need to store the result into an array
$utente = $this->model_users->getDataProfiloUtente($username);
然后使用对象或数组表示法访问列/字段:

 //if you use row() in your model
$utente->username;

//or if you used row_array in your model do:
//$utente['username'];
:

第()行

此函数返回单个结果行。如果您的查询包含多个 一行,它只返回第一行结果以文本形式返回 对象。下面是一个用法示例

还请注意您正在将结果保存到另一个数组中,如果需要这样做,您必须执行以下操作:

//if use row() and store the result in your array $utente['records']
$utente['records']->username;


你解释得太完美了+1现在我收到以下错误:严重性:注意消息:未定义变量:用户名文件名:controllers/main.php,而在查看此错误时:严重性:注意消息:数组到字符串转换文件名:views/members.php行号:50根据您的建议,我使用的是row_数组()在模型和控制器中的代码中:$user['username']=$this->model_users->getdataprofilouentent($username);$数据=数组('username'=>$user['username'],'is_logged_in'=>1);$此->会话->设置用户数据($data);抱歉,这是正确的代码:$Untete['username']=$this->model_users->getDataProfilouente($username)$数据=数组('username'=>$utete['username'],'is\u logged\u in'=>1)$此->会话->设置用户数据($data);将
'username'=>$utente['username'],
更改为
'username'=>$utente['username']['username']。
您仍然在将模型结果保存到数组位置($user['username'])您不需要这样做(至少您想要或有这样的要求),我已经用这些细节给出了我的答案。您的解释非常完美+1现在我收到以下错误:严重性:注意消息:未定义变量:用户名文件名:controllers/main.php,而在查看此错误时:严重性:注意消息:数组到字符串转换文件名:views/members.php行号:50根据您的建议,我使用的是row_数组()在模型和控制器中的代码中:$user['username']=$this->model_users->getdataprofilouentent($username);$数据=数组('username'=>$user['username'],'is_logged_in'=>1);$此->会话->设置用户数据($data);抱歉,这是正确的代码:$Untete['username']=$this->model_users->getDataProfilouente($username)$数据=数组('username'=>$utete['username'],'is\u logged\u in'=>1)$此->会话->设置用户数据($data);将
'username'=>$Utene['username'],
更改为
'username'=>$Utene['username']['username']。
您仍然在将模型结果保存到数组位置($user['username'])您不需要这样做(至少您想要或有这样的要求),我已经用这些细节给出了我的答案。