Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz i sprawdzanie pól
Forum PHP.pl > Forum > PHP
wiktor96
Mam formularz kontaktowy ale chciałbym aby jak ktoś nie wypełni pola otrzymywał komunikat

Kod formularza

  1. <form action="<?=$PHP_SELF; ?>" method="post">
  2. <p style="font-size: 12px;">Imię</p>
  3. <input type="text" name="name" style="width: 230px;" >
  4. <p style="font-size: 12px;">Temat</p>
  5. <input type="text" name="subject" style="width: 230px;" >
  6. <p style="font-size: 12px;">Twój E-mail</p>
  7. <input type="text" name="email" style="width: 230px;" >
  8. <p style="font-size: 12px;">Treść</p>
  9. <textarea name="message" rows="3" cols="1" style="width: 300px;"></textarea>
  10. <br >
  11. <input type="submit" name="submit" value="Wyślij" >
  12. <input type="hidden" name="do" value="send" >
  13. <input type="reset" name="reset" value="Wyczyść" >
  14. <br >
  15. <?PHP
  16.  
  17. $do = ($_POST['do']);
  18.  
  19. if($do == "send")
  20. {
  21. $recipient = "wiktor_1996_96@o2.pl";
  22. $subject = ($_POST['subject']);
  23. $name = ($_POST['name']);
  24. $email = ($_POST['email']);
  25. $message = ($_POST['message']);
  26. $formsend = mail("$recipient", "$subject", "$message", "From: $email ($name)\r\nReply-to:$email");
  27.  
  28. echo ("<p>Wiadomość została wysłana</p>");
  29. }
  30. ?>


Niedawno zadawałem pytanie dotyczące księgi ale gdy wkleiłem ten kawałek kodu wychodził błąd.
Wicepsik
empty
wiktor96
  1. <?php
  2. $var = 0;
  3.  
  4. // Evaluates to true because $var is empty
  5. if (empty($var)) {
  6. echo '$var is either 0, empty, or not set at all';
  7. }
  8.  
  9. // Evaluates as true because $var is set
  10. if (isset($var)) {
  11. echo '$var is set even though it is empty';
  12. }
  13. ?>

  1. gdzie mam to wkleić i co mam wpisać tu echo '$var is set even though it is empty';
darko
Jeśli przyjdą dane z fomularza ( if($do=="sent") {//(tutaj)}), dokonaj podobnej do zamieszczonej poniżej walidacji
  1. $error = false;
  2. $error_reason = array();
  3. $posted_names = array("name","subject","email","message");
  4. $max = count($posted_names);
  5. for($i=0;$i<$max;$i++) {
  6. if(is_null($_POST[$posted_names[$i]]) || empty($_POST[$posted_names[$i]]) || $_POST[$posted_names[$i]] == "") {
  7. $error = true;
  8. $error_reason[] = $i;
  9. }
  10. }
  11. if(!$error) {
  12. $recipient = "wiktor_1996_96@o2.pl";
  13. $subject = ($_POST['subject']);
  14. $name = ($_POST['name']);
  15. $email = ($_POST['email']);
  16. $message = ($_POST['message']);
  17. $formsend = mail("$recipient", "$subject", "$message", "From: $email ($name)\r\nReply-to:$email");
  18. }
  19. else {
  20. echo "<br/>proszę podać <b>";
  21. foreach($error_reason as $er) {
  22. switch($er) {
  23. case 0:
  24. echo "imię ";
  25. break;
  26.  
  27. case 1:
  28. echo " temat wiadomości";
  29. break;
  30.  
  31. case 2:
  32. echo " adres e-mail";
  33. break;
  34.  
  35. case 3:
  36. echo " treść wiadomości";
  37. break;
  38. }
  39. }
  40. echo "</b><br/>";
  41. // tu jeszcze raz pokaż form (najlepiej użyć funkcji do wyświetlenia formularza, natomiast dodaj value="$_POST['name']" etc. żeby form trzymał poprzednio wpisane dane);
  42. }
  43.  
  44. if($formsend) {
  45. echo "<br/>wiadomość została wysłana";
  46. }
  47. else {
  48. die "<br/>wystąpił nieokreślony błąd nieujęty powyższą logiką walidacji<br/>";
  49. }



To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.