PHPでコメント機能をつくっています。
しかし、そのコメントがINSERTされません。
だれか、PHPに詳しい方いましたら、ご教授お願いします。
下記がPHPのコードになります。
if(!empty($_POST)) {/*コメントエリアが空でなければ */ $reply = $_POST; $insert_com_reply = $db->prepare("INSERT INTO com_reply_comment (member_id,community_id,comment,created) VALUE (?,?,?,NOW())"); $insert_com_reply->execute(array( $member['id'], $_GET['id'], $reply['com_comment'] )); var_dump($member['id'],$_GET['id'],$reply['com_comment']); exit(); header('Location: com_detail.php?id='.$_GET['id']); exit(); }
そして、HTMLのformになります。
<div id="commentarea"> <h2>コメント</h2> <textarea class="form-control" rows="4" placeholder="コメントをお書きください。" name="com_comment" id="com_comment"></textarea> <button type="submit" class="btn btn-primary">投稿する</button> </div> </form>
下記がここにINSERTするために使用しているテーブルになります。
(communityのテーブル)
(ユーザー管理のテーブル)
ここまでが、データ格納に使うテーブルです。
下が、データを格納するテーブルです。

最後に、INSERTにつかうmember['id']とcommunity['id']そして、commentはvar_dump()で取得できました。

> しかし、そのコメントがINSERTされません。
INSERTされないというのは、実行したらエラーメッセージが出た、ということでしょうか?
そうであれば出力されたメッセージも載せてください。
コメントありがとうございます。
エラーメッセージはでていません。
となると事象が再現するソース一式が無いと判断が難しいですね。
量が多いのであれば、とりあえず上記HTMLとPHPの全量と各ファイル名と配置先の情報がほしいです。
と思いましたが、よくよく見ると、「投稿する」ボタンを押下した際のHTTPリクエストって、GETでやられてますか?であればphpのPOSTのempty判定がおかしいです。
いえ、formタグのmethodの所をPOSTにしているのでGETではないと思います。
すみません、上記のfromタグの一行目を書き忘れてました!!
ですが、formのmethodはPOSTです。
であれば、ソース全量載せるか、m6uさんに回答頂いた内容でひとつずつ検証ですね
追記しました。
phpの全ソースを追記しました。
htmlファイルは1つしかありません。
すみません、
com_reply_commentテーブルのカラムの一つ、community_idがcomunity_idになっていたために
INSERTされませんでした。
ありがとうございました。
あなたをベストアンサーにしたいのですが、回答していただけませんか?
解決したみたいで良かったです。
いや、結局力になれてないので、上記内容をご自身で回答欄に記載してベストアンサーにしてクローズしてください。
了解しました。
いえいえ、とんでもないです。
皆さんのおかげです。
ありがとうございました。
回答2件
あなたの回答
tips
プレビュー
