Сделайте поля формы обязательными - PullRequest
0 голосов
/ 11 декабря 2011

Я пытался работать с 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 голос
/ 11 декабря 2011

Вы используете isset, который возвращает true для всех элементов, которые присутствовали в форме. Вы хотите empty вместо.

http://php.net/empty

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...