PHP で複数のチェックボックス配列とテキストボックス配列を MySQL データベースに挿入するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-27 20:37:30
オリジナル
380 人が閲覧しました

How to Insert Multiple Checkbox and Textbox Arrays into a MySQL Database in PHP?

PHP で MySQL データベースに複数のチェックボックスおよびテキストボックス配列を挿入する

複数のチェックボックス配列を挿入する

チェックボックスの値が正しくない場合データベースに挿入される際、HTML の name 属性のインデックスと PHP 配列要素の間に不一致が生じる可能性があります。これを解決するには、各チェックボックス要素に一意のインデックスを明示的に設定する必要があります。

<code class="html"><input tabindex="1" name="checkbox[0]" type="checkbox" value="17" />

<input tabindex="1" name="checkbox[1]" type="checkbox" value="20" /></code>
ログイン後にコピー

これにより、各チェックボックスが $_POST['checkbox'] 配列内で独自の一意のインデックスを持つことが保証されます。

チェックされていないチェックボックスが挿入されないようにする

チェックされていないチェックボックスがデータベースに挿入されないようにするには、値を挿入する前に各チェックボックスがチェックされているかどうかを明示的にチェックする必要があります。

<code class="php">if(isset($_POST['checkbox'])) {
    foreach($_POST['checkbox'] as $check) {
        if(!empty($check)) {

            $check = implode(',', $_POST['checkbox']);
            $name = implode(',', $_POST['item']);
            $quantity = implode(',', $_POST['quantity']);
        }
    }</code>
ログイン後にコピー

挿入クエリにプリペアド ステートメント メソッドを使用する

SQL インジェクション攻撃を防ぐために、mysql_query を使用する代わりに、挿入クエリにプリペアド ステートメントを使用することをお勧めします。挿入メソッドを変更する方法は次のとおりです。

<code class="php">$stmt = $conn->prepare("INSERT INTO purchases (Product, Quantity, Price) VALUES (?, ?, ?)");
$stmt->bind_param("sis", $name, $quantity, $price);
foreach ($_POST['checkbox'] as $i => $price) {
    $name = $_POST['name'][$i];
    $quantity = $_POST['quantity'][$i];
    $stmt->execute();
}</code>
ログイン後にコピー

その他の考慮事項

  • 価格をハードコードするのではなく、データベースから取得することをお勧めします。改ざんを防ぐための HTML。
  • データベース接続とクエリ実行には MySQLi と mysql API を混在させないでください。

以上がPHP で複数のチェックボックス配列とテキストボックス配列を MySQL データベースに挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!