【发布时间】:2016-09-08 20:20:05
【问题描述】:
我有一个 php 表单,但即使未填写必填字段,它也会提交。谁能弄清楚为什么?我不是 php 开发人员,不确定为什么它不起作用。请告诉我在哪里添加您可能提供的任何代码 sn-ps,因为这对我来说是新的。为了证明我已经尝试过,并且在一定程度上知道我在说什么,我在这里只展示应该与问题相关的代码。
<?php
require 'xxxxxxx.php';
$fnameErr = "";
if(isset($_POST['add'])) {
if (empty($_POST["fname"])) {
$fnameErr = "Name is required";
exit();
}else {
$fname = check_input($_POST['fname']);
}
$lname = check_input($_POST['lname']);
$phone = check_input($_POST['phone']);
$email = check_input($_POST['email']);
$sql = " INSERT INTO QuotesInfo ( fname, lname, phone, email, doservice, etype, rtype,
ptime, paddress, rtime, daddress, vtype, pcount, addetails, heardwhere )
VALUES ('".$_POST["fname"]."','".$_POST["lname"]."','".$_POST["phone"]."','
".$_POST["email"]."','".$_POST["doservice"]."','".$_POST["etype"]."','".$_POST["rtype"]."','".$_POST["ptime"]."','
".$_POST["paddress"]."','".$_POST["rtime"]."','".$_POST["daddress"]."','".$_POST["vtype"]."','".$_POST["pcount"]."','
".$_POST["addetails"]."','".$_POST["heardwhere"]."') ";
$msg= $fname . " " . $lname . "\r\n" . $phone . "\r\n" . $email . "\r\n" . $doservice . "\r\n" . $etype . "\r\n" . $rtype . "\r\n" . $ptime . "\r\n" . $paddress . "\r\n" . $rtime . "\r\n" . $daddress . "\r\n" . $vtype . "\r\n" . $pcount . "\r\n" . $addetails . "\r\n" . implode(", ", $heardwhere);
$headers = "From: $from";
<form id="form1" name="form1" method = "post" action = "<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<label for="fname">First Name</label><input type="text" name="fname" id="fname" />
<span class="error">* <?php echo $fnameErr;?></span>
<br class="clear" />
【问题讨论】:
-
您的网页是否有某种 JS 验证 - 前端?
-
不,仅对特殊字符进行验证
标签: php forms validation post required