私はStackOverflowやFacebookの使い方などのコメントを私が作成しているサイトに追加しようとしています。基本的には、各親の投稿に独自の子コメントがあります。私はjQuery Ajaxでフロントエンドを実装するつもりですが、PHPのバックエンドにどのように最善を尽くすかについては苦労しています。
各フォームフィールドに同じ名前とIDを付けると、検証エラーが発生する可能性があるため(おそらくいくつか)、親フォームのIDを各フォームフィールドに追加しました。渡されるフィールドはcommentID、commentBody、commentAuthorある - などのIDは、彼らがcommentTitle-12
になります追加して、
$_POST
array_key新しい投稿が処理されるたびに異なるものになりますので、私は(-12
をトリミングする必要がありますまたはIDが何であってもかまいません)、のキーからは、commentTitle、commentBodyなどとそれに関連する値だけが残ります。
例
$_POST['commentTitle-12']; //how it would be received after submission
$_POST['commentTitle']; //this is what I am aiming for
感謝
SOLUTION CFreak-
に おかげ//Basic example, not actual script
<?php
if (array_key_exists("send", $_POST)) {
$title = $_POST['title'][0];
$body = $_POST['body'][0];
echo $title . ', ' . $body;
}
?>
<html>
<body>
<form name="test" id="test" method="post" action="">
<input type="text" name="title[]"/>
<input type="text" name="body[]"/>
<input type="submit" name="send" id="send"/>
</form>
</body>
</html>
アップデート2 おっとは、一種のそれの全体のポイントを忘れてしまった - ユニーク名前(確立されていますがその1)これは、このアプリケーションのために、
//Basic example, not actual script
<?php
if (array_key_exists("send", $_POST)) {
$id = $_POST['id'];
$title = $_POST['title'][$id];
$body = $_POST['body'][$id];
echo $title . ', ' . $body;
}
?>
<html>
<body>
<form name="test" id="test" method="post" action="">
<input type="text" name="title[<?php echo $row['id'];?>]"/>
<input type="text" name="body[<?php echo $row['id'];?>]"/>
<input type="hidden" name="id" value="<?php echo $row['id']; //the ID?>"/>
<input type="submit" name="send" id="send"/>
</form>
</body>
</html>
かかわら
は、コードをテストしていないので、私が思います間違った方法で問題に近づいている可能性があります。名前はポスト配列のキーとして使用され、同じ名前の要素があれば問題ありません。誰かがコメントを投稿したときに、親IDを取得して、それをajax投稿の余分なパラメータとして渡すだけです。 – Endophage
あなたは絶対に正しいです。この特定のケースでは、このページの唯一のユーザーがJavascriptを有効にすることを知っているので、これを達成するためにjQueryのみを使用します。しかし、これが当てはまらない将来のケースでは、PHPでこれをどうやって処理するのかを理解したいと思っています。しかし、もう一度、あなたは正しいのです。 :) – NightMICU