2017-09-25 19 views
0
<?php 
$conn = mysqli_connect("localhost","root","","furniture"); 
$vehicle= $_POST['vehicle']; 
if($_POST["Submit"] == "Submit") 
{ 
    for($i=0; $i<sizeof($vehicle);$i++) 
    { 
     $query="INSERT INTO events (status) VALUES ('".$vehicle[$i]."')"; mysqli_query($query) or die (mysqli_error()); 
    } 
    echo "updated"; 
} 
?> 
<html> 
    <body> 
    <form action="test.php" method="post"> 
     <input type="checkbox" name="vehicle" value="Car" checked> I have a car<br> 
     <input type="submit" value="Submit"> 
    </form> 

    </body> 
</html> 

我得到這個錯誤:PHP的錯誤,它說未定義的車輛和不確定提交

​​
+0

您的代碼我們的代碼很容易受到SQL注入式攻擊。您應該使用參數化查詢和準備語句來幫助防止攻擊者通過使用惡意輸入值來危害數據庫。 http://bobby-tables.com給出了風險的解釋,以及如何使用PHP/mysqli安全編寫查詢的一些示例。切勿將未經協商的數據直接插入到您的SQL中。 – ADyson

+0

[PHP:「注意:未定義的變量」,「注意:未定義的索引」和「注意:未定義的偏移量」的可能重複](https://stackoverflow.com/questions/4261133/php-notice-undefined-variable- notice-undefined-index-and-notice-undef) – iainn

+0

你是否檢查過'$ _POST'實際包含的內容? – Carcigenicate

回答

0

您在mysqli_query錯過了一個參數。將這個:mysqli_query($conn,$query)

,並檢查您是否$_POST包含數組或不var_dump

0

變化這樣

if(isset($_POST["Submit"])) 
{ 
    $vehicle= $_POST['vehicle']; 
    for($i=0; $i<sizeof($vehicle);$i++) 
    { 
     $query="INSERT INTO events (status) VALUES ('".$vehicle[$i]."')"; mysqli_query($query) or die (mysqli_error()); 
    } 
    echo "updated"; 
}