我有一个系统,你可以在其中发布评论,它会写入数据库,用户需要写下他们的名字和评论。
我试图实现的是,如果用户登录,它会检索他们的用户名并将其作为名称发布。
我的登录工作非常好
这就是我目前拥有的
$_SESSION['user_username']= $username;
这是链接到用户发布评论的表单的脚本。当我试图发布评论时,我得到了一个line 7 error
。
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']
];