0

現在、受信トレイシステムをWebサイトに実装しており、ユーザーが複数の受信トレイメッセージにチェックマークを付け、[削除]リンクをクリックしてそれらを一括削除できるようにする必要があります。

各受信ボックスメッセージには、データベース内に独自のIDがあります。

私たちが助けを必要としているのは、チェックボックスシステムを機能させることです。どこから始めればよいのかわかりません。それぞれにIDを付ける必要があるのか​​、PHPで値を入力する必要があるのか​​はわかりません。どんな助けでも大歓迎です。

4

4 に答える 4

3

すべてのチェックボックスに同じ名前を付け、[]で終わり、次のように異なる値を付けることができます。

<input type="checkbox" name="deletemessage[]" value="367"/>
<input type="checkbox" name="deletemessage[]" value="394"/>
<input type="checkbox" name="deletemessage[]" value="405"/>

このように、フォームが送信されると、PHPは選択されたすべての値を$_POST内の配列に配置します。したがって、上記の例で上部と下部のチェックボックスが選択されている場合、$ _ POST ['deletemessage']には[367、405]が含まれます。

于 2010-01-28T02:07:38.900 に答える
1
<input type="checkbox" name="check[]" value=1 />
<input type="checkbox" name="check[]" value=2 />
<input type="checkbox" name="check[]" value=3 />
<input type="checkbox" name="check[]" value=4 />
<input type="checkbox" name="check[]" value=5 />

これにより、ループできる配列が返されます。

<?php
foreach ($_POST["check"] as $value)
{
echo "message id: $value";
}
?>

セキュリティに関する注意事項として、メッセージIDがメッセージを削除しようとしているユーザーに関連付けられていることを確認する必要があります。

于 2010-01-28T02:04:33.780 に答える
1

xHTMLフォーム

<input type="checkbox" name="record[]" value="1" />
<input type="checkbox" name="record[]" value="2" />
<input type="checkbox" name="record[]" value="3" />
<input type="checkbox" name="record[]" value="4" />

PHP _

<?php

foreach ($_POST['record'] AS $id) {

    $id = (int)$id; // Force to integer (little of security)

    // Delete the record
    mysql_query("DELETE FROM `table` WHERE `id` = {$id}");

}

?>
于 2010-01-28T02:08:31.207 に答える
0

すべてのチェックボックスに同じ名前を付け、最後に四角いbrqacketsを付けることから始めます。somename[]

フォームを(POSTとして)送信するときは、print_r($_POST)

于 2010-01-28T02:03:11.163 に答える