PHP 表單處理:將複選框和文字方塊陣列插入MySQL 資料庫
在PHP 中,處理表單提交可能具有挑戰性,尤其是在處理多個複選框和文字方塊。為了有效管理表單數據,讓我們探討一個常見問題及其解決方案。
問題:複選框值顯示不正確和資料庫插入失敗
使用複選框數組時,確保它們的值準確代表用戶的輸入至關重要。在提供的程式碼中,每個複選框都顯示為已選中,無論其實際狀態如何。此外,數據沒有如預期插入資料庫。
解決方案:數組索引和索引複選框名稱
問題的出現是因為使用了implode ,它將所有表單值合併到一個以逗號分隔的列表中。為了避免這種情況,請在複選框名稱中使用明確索引。這樣,數組索引將對應於項目和數量索引。
考慮以下 HTML 程式碼:
<input type="checkbox" name="checkbox[0]" value="17" />
現在,複選框數組將具有索引元素,從而允許正確的資料檢索。
更新了 PHP 程式碼
在 PHP 程式碼中,取代使用 implode 進行索引數組存取。此外,使用準備好的語句來安全地插入資料庫。這是一個改進版本:
$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(); }
透過利用索引複選框名稱和準備好的語句,此修訂後的程式碼解決了問題,並允許準確處理複選框和文字方塊資料。請記住透過從資料庫檢索價格而不是依賴 HTML 值來確保資料完整性。
以上是如何將 PHP 表單中的核取方塊和文字方塊陣列資料正確插入 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!