以下は、まさに私が欲しいものの説明です
送信フォームには複数のチェックボックスがあります。ユーザーがチェックボックスをクリックすると、ユーザーがテキストを入力するテキストボックスがその横に表示されます。texboxの値を配列に挿入し、PHP-MYSQLでデータベースに挿入したいです。たとえば、checkbox1 はインデックス 0=>textbox の値、checkbox2 はインデックス 1=>texbox2 の値です。
どうすればこれを達成できますか?
受信した$_POSTをシリアル化します。
<input type="checkbox" name="smth[]" value="One" />
<input type="checkbox" name="smth[]" value="Two" />
<input type="checkbox" name="smth[]" value="Three" />
<?php
if (isset($_POST)) {
$smth = serialize($_POST['smth']);
$query = mysql_query("INSERT INTO table VALUES ('$smth')") or die(mysql_error());
}
あなたが行くためのいくつかのポインタ:
1) PHP から:
echo "<pre>";
print_r($_POST);
echo "</pre>";
そうすれば、クライアントフォームから投稿されたものを見ることができます。
2)チェックされていないチェックボックスはまったく投稿されないことに注意してください。
したがって、「wantsnewsletter」という名前のフォームに次のチェックボックスがある場合。
次に、次のように PHP から確認します。
if (isset($_POST["wantsnewsletter"])){
// It was checked.
} else {
// It wasn't checked
}
さらに、賢明な命名を考えて、DB に挿入するだけです。