2011-12-11 212 views
0

我试图与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 = '[email protected]'; 
    $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>"; 
    } 
?> 
+0

请注意,并非所有的浏览器都支持多行字符串常量。 – Pointy

回答

1

您使用isset,返回true对于存在于形式的所有元素。您需要改为empty

http://php.net/empty

+0

谢谢!修正了! – kim