我有一个系统,您可以发布评论并写入数据库,用户需要写下他们的姓名和评论。
我想要实现的是,如果用户已登录,它将检索其用户名并将其作为名称发布。
我的登录工作完全正常
这是我到目前为止所拥有的
$_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);
}
有谁知道为什么这不起作用?
答案 0 :(得分:0)
根据您的评论代码,
$_SESSION['user_username']= $username;
应该像
$username= $_SESSION['user_username'];
变量$username
未初始化。
也可以使用,
$criteria = [
'comment_user' => $username, //Edited
'comment_desc' => $_POST['comment_description'],
'comment_article' => $_GET['article_id']
];