当用户单击save时,检查数据是否成功地插入到表中,并相应地显示适当的消息。如果窗体为空,则应显示错误消息,并且数据库不应有任何记录。
//SAVE
if (isset($_POST['SAVE'])) {
$Name = $_POST['name'];
$City = $_POST['city'];
$query = "Insert Into Info Values('$Name','$City')";
$result = mysqli_query($con, $query) or die ("query is failed" . mysqli_error($con));
$Name = '';
$City = '';
if(mysqli_affected_rows($con)>0) {
echo "record is saved";
}else {
echo "record is not saved";
}
我只能通过php进行验证。我不确定我是否做得对。到目前为止,我可以在我的表单上获得“记录已保存”消息,但如果表单为空,我就无法获得后者。它只是在我的数据库中做了一个空记录。
2条答案
按热度按时间lx0bsm1f1#
未测试代码:
提交数据上的验证条件确保值不是空的,并且不完全由空格字符组成。如果您希望进一步细化验证需求,只需更新条件即可。
如果你想确保
$_POST['name']
以及$_POST['city']
如果不为空,可以将前三个条件替换为如果不使用准备好的语句,那么将值命名为
Paul O'Malley
将中断您的查询。更糟糕的是,如果有人想尝试运行一些注入攻击,那么您的查询很容易受到攻击。检查
affected_rows()
是不必要的。如果查询执行中没有错误消息,则insert查询成功。以上建议都是我敦促你们采纳的最佳做法。
9avjhtql2#
检查
isset($_POST['SAVE'])
只告诉你是否设置了“保存”。它不会告诉您字段是否有值。要在php中进行验证,请使用以下方法:
关键是
if ($Name && $City)
检查。或者,如果您希望依靠mysql拒绝插入空值,那么请确保mysql表中的字段不可为空,然后更改代码的这部分:(但这将把验证移到mysql)