PHP Form Игнорирование обязательного поля

У меня есть форма php, но она отправляется, даже если обязательное поле не заполнено. Кто-нибудь может понять, почему? Я не разработчик PHP и не уверен, почему это не работает. Пожалуйста, скажите мне, где добавить любые фрагменты кода, которые вы можете предоставить, поскольку это является новым для меня. Чтобы доказать, что я пытался и в какой-то степени знаю, о чем говорю, я лишь показываю здесь код, который должен иметь отношение к проблеме.

<?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" />

0

Решение

У вас есть куча синтаксических ошибок в вашем коде. Вот очищенная версия, пожалуйста, проверьте, прежде чем использовать ее:

<?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" required />
<span class="error">* <?php echo $fnameErr;?></span>
<br class="clear" />
</form>
<?php } ?>

Учитывая required проверка, вам нужно добавить required атрибут к элементу формы, который требуется.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]