집 >데이터 베이스 >MySQL 튜토리얼 >선택되지 않은 확인란을 처리하고 데이터 조작을 방지하면서 여러 확인란 및 텍스트 상자 배열의 데이터를 MySQL 데이터베이스에 효율적으로 삽입하려면 어떻게 해야 합니까?
이 시나리오의 기본 목표는 여러 확인란 및 텍스트 상자 배열의 데이터를 MySQL 데이터베이스에 효율적으로 삽입하는 것입니다. 먼저 제시된 코드에서 직면한 특정 문제를 해결해 보겠습니다.
첫 번째 문제는 체크박스 데이터 표시와 관련됩니다. 원래 코드는 선택되지 않은 확인란을 표시하지 못하여 모든 확인란 옵션이 선택된 것으로 나타납니다. 이는 체크박스 값을 잘못 처리했기 때문입니다.
두 번째 문제는 데이터베이스에 데이터가 제대로 삽입되지 않았다는 것입니다. 데이터베이스에 성공적으로 연결되었음에도 불구하고 데이터가 기록되지 않았습니다. 이는 배열 인덱싱의 잘못된 사용과 MySQLi 및 mysql_query API의 부적절한 활용으로 인해 발생합니다.
이러한 문제를 해결하기 위해 다음과 같은 코드 수정을 제안합니다.
<form method="POST"> <input type="hidden" name="item[]" value="cupcake"> <input type="text" name="items" value="cupcake" readonly><br> <b>Price :</b> <span name="price" value="3.00">.00</span><br> Quantity: <input tabindex="1" name="quantity[]" min="0" max="5" type="number" class="quantity" value="1" /><br> <input tabindex="1" name="checkbox[0]" type="checkbox" value="17" /><span>Add to Cart</span></label></div></div></td><br> <input type="hidden" name="item[]" value="cake"> <input type="text" name="items" value="cake" readonly><br> <b>Price :</b> <span name="price" value="20.00">.00</span><br> Quantity: <input tabindex="1" name="quantity[]" min="0" max="5" type="number" class="quantity" value="1" /><br> <input tabindex="1" name="checkbox[1]" type="checkbox" value="20" /><span>Add to Cart</span></label></div></div></td><br> <input type="submit" name = "insertBT"><br> </form>
if(isset($_POST['insertBT'])) { $conn = new mysqli ($servername, $username, $password, $db); if($conn->connect_error) { die ("Connection Failed : " . $conn->connect_error); } else { $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(); } } }
이러한 변경 사항을 구현함으로써 스크립트는 이제 체크박스 데이터를 올바르게 처리하고 보안 데이터 삽입을 수행하며 데이터베이스에서 동적 가격 값을 가져와야 합니다. , 정확한 결과를 제공합니다. 잠재적인 보안 취약성을 방지하려면 데이터베이스 작업을 실행하기 전에 항상 사용자 입력이 적절하게 삭제되었는지 확인하십시오.
위 내용은 선택되지 않은 확인란을 처리하고 데이터 조작을 방지하면서 여러 확인란 및 텍스트 상자 배열의 데이터를 MySQL 데이터베이스에 효율적으로 삽입하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!