我在这里找出问题所在。很少(有50个数据中的3个),使用不完整的数据插入到数据库中,如下所示:
用于插入的PHP代码正确。数据库中所有无值的值都来自SELECT
标记HTML(year,month)。我不知道这是哪里的代码。
<select class="form-control" name="month" required>
<option selected disabled>*Select Month</option>
<option value="JANUARY">January</option>
<option value="FEBRUARY">February</option>
<option value="MARCH">March</option>
<option value="APRIL">April</option>
<option value="MAY">May</option>
<option value="JUNE">June</option>
<option value="JULY">July</option>
<option value="AUGUST">August</option>
<option value="SEPTEMBER">September</option>
<option value="OCTOBER">October</option>
<option value="NOVEMBER">November</option>
<option value="DECEMBER">December</option>
</select>
<select class="form-control" name="year" required>
<option selected disabled>*Select Year</option>
<option value="2015">2015</option>
<option value="2014">2014</option>
<option value="2013">2013</option>
<option value="2012">2012</option>
</select>
**编辑:1 **
这就是我将数据插入数据库的方式
$sql = "INSERT INTO `subs` (firstname, lastname, time, year, month, tid, status, statusNew)
VALUES ('".$fn."', '".$ln."', '".$time."', '".$year."', '".$month."', '".$tid."', '".$st."', '".$st2."')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "ERROR!" . $conn->error;
}
**编辑2 **
只有15位用户在同一台PC上使用。
谢谢你。
一些浏览器不遵守必填属性,因为它是HTML5中的新属性。此外,您不应该信任客户端验证,也应该在服务器上进行验证。
if(!isset($_POST['month']) || $_POST['month'] == '')
{
die ('A month is required to be set. Please use the back button and correct your form input.');
}
if(!isset($_POST['year']) || $_POST['year'] == '')
{
die ('A month is required to be set. Please use the back button and correct your form input.');
}
理想情况下,您希望针对白名单或正则表达式测试所有值,以确保输入有效以防止不良数据,并且更认真地注入树状SQL,JavaScript,PHP或HTML。
那会更像:
<?php
$months = ['JANUARY','FEBRUARY','MARCH','APRIL','MAY','JUNE','JULY','AUGUST','SEPTEMBER','OCTOBER','NOVEMBER','DECEMBER'];
if(!isset($_POST['month']) || !in_array($_POST['month'],$months))
{
die('The month isn't valid. Use back button, correct errors and resubmit the form.');
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句