我已经尝试使用isset()将必填字段添加到表单中,如下所示,但这足够了吗?
它仅适用于一个字段: ik_wens ,因为它是一个复选框。 表单将忽略未完成的文本字段,仅发送电子邮件。
我究竟做错了什么?

<?php
    if (    !isset($_POST['naam']) ||
            !isset($_POST['adres']) ||
            !isset($_POST['tel']) ||
            !isset($_POST['datum_gourmet_fondue']) || 
            !isset($_POST['aantal_personen'])|| 
            !isset($_POST['ik_wens'])|| 
            !isset($_POST['graag'])
        ) {  
         echo 'U heeft niet alle velden ingevuld!';  
         exit;      
     } 

     $to = 'info@yourmail.nl'; 
     $onderwerp = " Gourmet/ fonduelijst "; ;

     $naam = htmlspecialchars($_POST['naam']); 
     $adres = htmlspecialchars($_POST['adres']);
     $tel = htmlspecialchars($_POST['tel']);  
     $datum_gourmet_fondue = htmlspecialchars($_POST['datum_gourmet_fondue']);  
     $aantal_personen = htmlspecialchars($_POST['aantal_personen']);  
     $wish = $_POST["ik_wens"];
     $graag = htmlspecialchars($_POST['graag']); 

     $details = "
       Onderwerp: $onderwerp\n\n\n
       Naam: $naam\n\n
       Adres: $adres\n\n
       Tel.: $tel \n\n
       Datum gourmet/ fondue: $datum_gourmet_fondue \n\n
       Aantal personen: $aantal_personen \n\n
       Ik wens:  $wish \n\n
       Graag: $graag 
      ";

     // Send the message
     $ok = mail($to, $onderwerp, $details);
     if ($ok) {
         echo "<p>E-mail is verzonden</p>";
     } else {
         echo "<p>E-Mail is niet verzonden, probeer opnieuw!</p>";
     }
?>

===============>>#1 票数:1 已采纳

您正在使用isset ,它对表单中存在的所有元素都返回true 您要empty

http://php.net/empty

  ask by kim translate from so

未解决问题?本站智能推荐: