Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz
Forum PHP.pl > Forum > PHP
Noob.
Witam.
Zrobilem formularz maila w html, a w pliku php wyslanie maila i wyswietlana informacje gdy nie wszystkie pola sa uzupelnione.
Jak zrobic aby po niewypełnieniu jakiegos pola wyswietlalo blad bez odswiezania strony i utraty danych w polach?
  1. |formularz|
  2. <?php
  3. include ("mail.php");
  4. ?>


  1. <?php
  2. if (isset($_REQUEST['email']))
  3.  
  4. $temat = $_POST['temat'];
  5. $typ2 = $_POST['typ2'];
  6. $tresc = $_POST['tresc'];
  7. $email = $_POST['email'];
  8. if (!strlen($email) || !strlen($typ2) || !strlen($temat) || !strlen($tresc))
  9. {
  10. echo 'Należy wypełnić wszystkie pola';
  11. }
  12. else
  13. {
  14. mail("mail@mail.pl", "Zamówienie: $typ2", "Temat: $temat \n\n Typ zamówienia: $typ2 \n\n Treść: $tresc \n\n Nadesłano z: $email \n\n ", "From: $mail");
  15. }
  16.  
  17. ?>

JoShiMa
Jednym skryptem sprawdzaj czy są dane w post. Jeśli nie ma lub są nieprawidłowe wyświetlaj formularz. Jeśli sa prawidłowe przetwarzaj.
paawian
Jeżeli nie chcesz tracić danych w polach to jest kilka sposobów, mozesz użyc AJAX'a, który będzie przekazywał dane bez przeładowywania strony, albo zapisać dane z formularza w cookies, a potem je wywołać gdy formularz się załaduje..

pierwszy sposób krótszy, drugi łatwiejszy, ewentualnie możesz zrobić sprawdzanie w JavaScript, ale to się dzieje po stronie przeglądarki, a więc osoba wypełniająca formularz ma na to bezpośredni wpływ
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.