gpt4 book ai didi

php - 很少,我的数据库中的某些列中没有插入任何值。 PHP MySQL HTML

转载 作者:行者123 更新时间:2023-11-28 23:42:05 26 4
gpt4 key购买 nike

我弄清楚这里的问题是什么。很少(50 个数据中有 3 个)插入到数据库中的数据不完整,如下所示:

enter image description here

用于插入的 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。

谢谢。

最佳答案

一些浏览器不尊重 required 属性,因为它是 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 注入(inject)。

那更像是:

 <?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.');
}

关于php - 很少,我的数据库中的某些列中没有插入任何值。 PHP MySQL HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34216310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com