Php 如何将会话变量添加到数据库中?

Php 如何将会话变量添加到数据库中?,php,mysql,Php,Mysql,我目前正在将会话变量$username添加到数据库中的一个表中。我目前有两个表,一个是用户表,另一个是文章表。两个表都有值username。我真的很困惑 $user = new User(); if(!$user->isLoggedIn()) { Redirect::to('index.php'); } $user = DB::getInstance()->insert('article', array( 'username' => ($usern

我目前正在将会话变量
$username
添加到数据库中的一个表中。我目前有两个表,一个是用户表,另一个是文章表。两个表都有值
username
。我真的很困惑

$user = new User();

if(!$user->isLoggedIn()) {
    Redirect::to('index.php');
}


$user = DB::getInstance()->insert('article', array(
        'username' => ($username),
        'article' => 'Example',
        'time_posted' => date('Y-m-d H:i:s')

    ));

?>

要访问存储在$\u会话数组中的变量,需要使用以下语法
$\u会话['myvariable']

所以你应该使用

'username' => $_SESSION['username']
而不是

'username' => ($username)

首先,你必须在你的页面上启动一个会话,这样你才能在你的站点上使用基于会话的信息传输。
如果您确定在使用会话的每个页面中都正确启动了会话,则需要使用以下语法为会话分配用户名值:
$\u session['username']=“some username”;//或者从一些数据库结果中获取。
如果您在执行此操作后,请将
var\u dump
转储到会话,以查看会话是否携带了所需的信息。如果您在结果中看到您的用户名,则这意味着您正确地将该值分配给了会话,并且该会话正在承载该值。
在列名数组中的最后一个,按如下方式调用用户名:
'username'=>$\u SESSION['username']

应该可以了。

$\u SESSION['username']Hmmm我试过了,我得到了一个错误-未定义的索引:usernames所以这可能意味着你没有在$\u SESSION数组中声明任何
用户名
键你确定你在PHP中做SESSION\u start()吗?是的,肯定在做SESSION\u start();因为我已经包含了一个require'core/init.php';在页面的顶部。虽然我没有存储用户名的功能?我应该创建一个吗?我以为用户名会自动存储为变量?嗯,您只需在代码中的任意位置执行
$\u SESSION['username']='theusername'
,即可在其中存储一个值