Php 以登录用户身份发布评论

Php 以登录用户身份发布评论,php,Php,我有一个系统,你可以发布一个评论,它会写入数据库,用户需要写下他们的名字和评论 我试图实现的是,如果用户登录,它将检索他们的用户名并将其作为名称发布 我的登录工作非常好 这就是我目前所拥有的 $_SESSION['user_username']= $username; 这是一个脚本,链接到用户发布评论的表单。当我试图发布评论时,我收到一个第7行错误 if (isset($_POST['comment_submit'])) { $statement = $pdo->prepare('IN

我有一个系统,你可以发布一个评论,它会写入数据库,用户需要写下他们的名字和评论

我试图实现的是,如果用户登录,它将检索他们的用户名并将其作为名称发布

我的登录工作非常好

这就是我目前所拥有的

$_SESSION['user_username']= $username;
这是一个脚本,链接到用户发布评论的表单。当我试图发布评论时,我收到一个
第7行错误

if (isset($_POST['comment_submit'])) {

$statement = $pdo->prepare('INSERT INTO comments (comment_username, comment_description, comment_art)
VALUES (:comment_user, :comment_desc, :comment_article)');

    $criteria = [
        'comment_user' => $_POST[$username],
        'comment_desc' => $_POST['comment_description'],
        'comment_article' => $_GET['article_id']
    ];

$stmt->execute($criteria);
}

有人知道为什么这样不行吗?

根据您对代码的评论

$_SESSION['user_username']= $username;
应该是

 $username= $_SESSION['user_username'];
变量
$username
未初始化

也用

 $criteria = [
        'comment_user' => $username, //Edited
        'comment_desc' => $_POST['comment_description'],
        'comment_article' => $_GET['article_id']
    ];

你能发布你收到的完整错误吗?它将让我们更好地帮助您
'comment\u user'=>$\u POST[$username],
将不起作用。使用
'comment\u user'=>$username,
@jqheart抱歉-注意:未定义变量:第7行的username什么不起作用?你有什么错误吗?你试过怎么解决它?请阅读并遵循本页上的说明,提出高质量的问题:抱歉,反应太晚。我这样做了,它发布了我的数据库日志的用户名在哈哈。这是因为它被称为$username。我更改了评论帖子变量的名称,但现在当我尝试提交时它没有任何作用。甚至没有给我一个错误