2016-03-31 29 views
0

コメントを投稿してデータベースに書き込むことができるシステムがあります。ユーザーは名前とコメントを書く必要があります。ログインしたユーザーとしてコメントを投稿

私が達成しようとしているのは、ユーザーがログインしている場合、ユーザー名を取得して名前として投稿することです。

マイログイン作品完全に罰金

これは私がこれまで

$_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); 
} 

これはなぜ機能しないのですか?コードあなたのコメントを1として

+1

はあなたが受け取った完全なエラーを投稿することができ、でしょうか?それは私たちがあなたを助けてくれるでしょう – jqheart

+0

''comment_user' => $ _POST [$ username] 'はうまくいきません。 ''comment_user' => $ username、' –

+0

@jqheartを使用してください申し訳ありません - 通知:未定義変数:7行目のユーザ名 –

答えて

0

$_SESSION['user_username']= $username; 

は、変数$usernameが初期化されていない

$username= $_SESSION['user_username']; 

ようにする必要があります。

はまた

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

ご迷惑をおかけして申し訳ありません。私はこれを行い、私のデータベースのユーザー名を投稿しました。これは$ usernameと呼ばれているからです。コメント投稿の変数の名前を変更しましたが、今投稿しても何もしません。私にエラーを与えない –

関連する問題