Pengendalian Borang PHP: Memasukkan Tatasusunan Kotak Semak dan Kotak Teks ke dalam Pangkalan Data MySQL
Dalam PHP, pengendalian penyerahan borang boleh menjadi mencabar, terutamanya apabila berurusan dengan berbilang kotak pilihan dan kotak teks. Untuk mengurus data borang dengan berkesan, mari kita terokai isu biasa dan penyelesaiannya.
Isu: Paparan Nilai Kotak Semak dan Kegagalan Penyisipan Pangkalan Data yang Salah
Apabila bekerja dengan tatasusunan kotak pilihan, adalah penting untuk memastikan bahawa nilai mereka mewakili input pengguna dengan tepat. Dalam kod yang disediakan, setiap kotak semak dipaparkan sebagai ditanda, tanpa mengira keadaan sebenar. Selain itu, data tidak dimasukkan ke dalam pangkalan data seperti yang dimaksudkan.
Penyelesaian: Pengindeksan Tatasusunan dan Nama Kotak Semak Berindeks
Masalah timbul kerana penggunaan letupan , yang menggabungkan semua nilai borang ke dalam senarai yang dipisahkan koma. Untuk mengelakkan ini, gunakan indeks eksplisit dalam nama kotak semak. Dengan cara ini, indeks tatasusunan akan sepadan dengan indeks item dan kuantiti.
Pertimbangkan kod HTML berikut:
<input type="checkbox" name="checkbox[0]" value="17" />
Kini, tatasusunan kotak semak akan mempunyai elemen diindeks, membenarkan data yang betul mendapatkan semula.
Kod PHP yang dikemas kini
Dalam Kod PHP, gantikan penggunaan implode dengan akses tatasusunan terindeks. Selain itu, gunakan pernyataan yang disediakan untuk sisipan pangkalan data yang selamat. Berikut ialah versi yang dipertingkatkan:
$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(); }
Dengan menggunakan nama kotak pilihan yang diindeks dan pernyataan yang disediakan, kod yang disemak ini menangani isu dan membolehkan pengendalian yang tepat bagi kedua-dua kotak pilihan dan data kotak teks. Ingat untuk memastikan integriti data dengan mendapatkan semula harga daripada pangkalan data dan bukannya bergantung pada nilai HTML.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Data Tatasusunan Kotak Semak dan Kotak Teks dengan betul daripada Borang PHP ke dalam Pangkalan Data MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!