Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Sprawdzanie pól formularza i autouzupełnianie
Forum PHP.pl > Forum > Przedszkole
mariusz1985
Witam. Mam kompletny formularz/ankietę/zapytanie który wysyła informacje na maila. Po wypełnieniu wszytkich pól pokazuje komunikat "wiadomość została wysłana - zostaniesz przekierowany automatycznie. ....." .

Druga opcja jest taka jeśli nie wypełnimy wszytkich pól to pokazuje " nie wypełniono wszytkich pól - zostaniesz automatycznie przekierowany z powrotem do formularza"

I teraz problem tkwi w tym iż chciałbym aby przy niewypełnieniu wszystkich pól pokazał które pola nie są wypełnione i przy automatycznym powrocie do formularza żeby te pola które były już wypełnione wcześniej zoastały wypełnione a nie wyczyszczone!! bo teraz po powrocie on czyści cały formularz.

Co bym musiał zmienić lub dodać w skrypcie??
  1. <?php
  2.                                            
  3. // sprawdzamy, czy zmienna $submit jest pusta
  4. if (empty($_POST['submit'])) {
  5.  
  6.  
  7.    // wyświetlamy formularz
  8.    echo "<table border=\"0\"><form method=\"post\">
  9.  
  10. // Tutaj znajduje się formularz
  11.  
  12.  
  13. </table>";
  14.  
  15. }
  16.  
  17. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  18. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email']) && !empty($_POST['wiek']) && !empty($_POST['kurs']) && !empty($_POST['poziom'])) {
  19.    // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  20.    // zmienna $message zawiera treść wiadomości
  21.    $message = "Wysłał: $_POST[imie]\ne-mail: $_POST[email]\nTelefon: $_POST[tel]\nWiek: $_POST[wiek]\nPoziom: $_POST[poziom]\nKurs: $_POST[kurs]\nZapytanie: $_POST[zapytanie1],$_POST[zapytanie2],$_POST[zapytanie3]\nTreść wiadomości:\n$_POST[tresc]\n";
  22.    // zmienna $header zawiera przede wszystkim adres zwrotny
  23.   // $header = "From: $from\nReply-to: $from\nMIME-Version: 1.0\nContent-type: text/html; charset=iso-8859-2";
  24.    $header = "From: $_POST[imie] <$_POST[email]> ";
  25.    // funkcja mail() za pomocą której wiadomość zostanie wysłana
  26.    @mail("info@tyg.edu.pl","Wiadomosc ze strony www.tyg.edu.pl","$message","$header")
  27.    or die('Nie udało się wysłać wiadomości');
  28.    // wyświetlenie komunikatu w przypadku powodzenia
  29.    echo "<span style=\"color: #c0c0c0; text-align: center;\"><strong>Wiadomość została wysłana poprawnie!<br><br> za chwile zostaniesz przekierowany na strone główną</strong></span><script type=\"text/javascript\">
  30.                   window.setTimeout(\"window.location.replace('index1.htm');\",5000);
  31.                </script>";
  32. }
  33. // lub w przypadku nie wypełnienia formularza do końca
  34. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza! <br><br> Za chwilę zostaniesz automatycznie przekierowany z powrotem do formularza</span> <script type=\"text/javascript\">
  35.                   window.setTimeout(\"window.location.replace('kontakt.php');\",4500);
  36.                </script>";
  37.                
  38. ?>
Hazel
W formularzu:

  1. <?php
  2. echo '<input type="text" name="imie" value="'.$_POST['imie'].'">';
  3. ?>


Dla innych pól analogicznie.
mariusz1985
Dzięki za pomoc zadziałało exclamation.gif

Pozdrawiam i jeszcze raz dziękuje
PawelBah
A jak sprawić aby nie wyświetlało błędów E_NOTICE.

  1. if(isset($_POST['pole']){
  2. echo $_POST['pole'];
  3. }


Tylko problem polega na tym, że jak się to przeniesie do funkcji.

  1. function old($pole){
  2. if(isset($pole)){
  3. echo $pole;
  4. }
  5. }
  6.  


To już niestety pojawia się błąd NOTICE :/

PS
Chce aby on był włączony w pliku konfiguracyjnym.
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.