如果需要,我会将代码放在我想知道我需要什么代码的位置,以及在何处放置它以停止将空字段输入数据库的表单。
我们将非常感谢代码段。这个问题可能太模糊了,请告诉我。
我正在使用PHP和mysql。
答案 0 :(得分:3)
if(isset($_POST['formfield'])) {
//add to db
}
else {
//don't add to db
}
答案 1 :(得分:3)
在插入数据库之前,您必须检查表单内容。
检查内容是否为空也很重要。变量可能存在,但内容可能为空。这是你不想要的,除非该字段是可选的。
这样的事情:
<?php
if (isset ($_POST['field']) && strlen($_POST['field'] >0))
{
insert_to_database();
}
?>
答案 2 :(得分:1)
检查提交的表格是否有效,如果不是,请不要将其插入数据库。
答案 3 :(得分:1)
你应该做一些必填字段。例如,表单有一个必填字段:当然您需要知道与您联系的人的姓名..因此名称应该是必填字段。 在操作文件中,您需要设置一个if条件来解决该问题:
if(isset($_POST['name'])){
//script that adds the variables to the database
}else{ echo 'the required field : name. was not filled, please try again. Thank you'; }
// it can work without else but you could output something if the required field is not filled in
您也可以将电子邮件发送到必填字段并找到验证电子邮件的PHP脚本,以便它不是假的: - / 无论如何希望这可以帮助你
答案 4 :(得分:1)
除了检查字段是否为空,正如其他人建议的那样,您可能希望完全避免在页面刷新时运行查询。为此,我使用“中间”脚本进行处理,当它们结束时,它们将用户重定向到显示所需内容的最终页面:这样刷新最后一页对数据库没有任何作用,因为所有数据库处理代码都是在另一个脚本中,除非您手动重新提交表单,否则您将无法访问该脚本。
答案 5 :(得分:0)
为了防止页面刷新,cookie将是有用的;要检查空字段,请设置isset()
<?php
//in the top of the page, BEFORE every output!
if(isset($_COOKIE['givemeaname'])){
setcookie('givemeaname', 'some foo&bar data, maybe a timestamp?', time()+3600);
//now check the mandatory fields and
//do whatever you want with your db
}else{
//do nothing, the page is been refreshed!
}
//do whatever you have to do now!
?>
如果你不想在页面顶部移动你的db-about代码,在cookie检查中你可以对一个布尔变量进行定值,然后只需要把它切掉......选择你的路径。
代替cookie,您可以使用会话,如果您更方便..但行为应该是明确的;)
此解决方案将一直为您节省时间,因为即使您使用POST表单访问该页面,某些浏览器会在提示刷新页面时再次要求重新发送信息(并且懒惰用户通常会单击“是”而不会阅读或理解其含义;)