Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: obsługa błędów w formularzu
Forum PHP.pl > Forum > Przedszkole
merick
Jak wynika z tematu chodzi o formularz z obsługą błędów. Wyglądać ma to tak, że po wypełnieniu formularza przez klienta dane są przesyłana do skryptu i tam następuje ich weryfikacja tzn. dla uproszczenia, skrypt sprawdza czy wszystkie pola są wypełnione, jeśli nie następuje przekierowanie spowrotem do formularza. Mało tego po przekierowaniu do formularza w polach tekstowych jest tekst wpisany wcześniej przez klienta, a puste są tylko te pola które nie zostały wypełnione wcześniej lub wypełnione błędnie. Dodatkowo na formularzu pojawia się komentarz, że dane pole nie zostało wypełnione lub wypełnione poprawnie.
Rozwiązałem ten problem za pomocą ciastek i działa świetnie, ale zdaję sobie sprawę, że w określonych warunkach może to nie działać u klienta i tutaj pojawia się moje pytanie: czy można rozwiązać obsługę błędów w inny, bardziej niezawodny sposób?

Liczę na sugestię i propozycję. A może ktoś już robił taki formularz?
Pozdrawiam biggrin.gif
The Night Shadow
Ja to wykonałem w taki sosób (kolejno w pliku):

1. Warunek jeśli zmienna $send przyjęła wartość 'wslij' wykonywanie skryptów poniżej.
2. Pobieranie danych z formalrza metodą POST w taki sposób:
  1. <?php
  2. $corobic = mysql_escape_string(htmlspecialchars($_POST["send"]));
  3. ?>

3. Skrypty sprawdzające czy pola są wypełnione (dla kazdego z pól osobny):
  1. <?php
  2. if (strlen($nodpowiedz)==0) 
  3. { 
  4.  
  5. // SPRAWDZANIE DŁUGOŚCI LOGINU
  6.  
  7. $blad++;
  8. $bodpowiedz = 'Odpowiedź nie została podana.';
  9. }
  10. ?>

4. Warunek jeżeli $blad jest równy zero dodawanie do bazy danych danych lub wykonywanie innych akcji.
5. Formularz, a nad nim:

  1. <?php
  2. if ($blogin<>"" or $bhaslo<>"" or $bemail<>"")
  3. {
  4. "<span>
  5. <center>
  6. <b>
  7. Popełniłeś błędy podczas wypełniania formularza!
  8. </b>
  9. </center>
  10. </span><br />";
  11. }
  12. ?>

W tym tez warunku za pomocą echo wyświetlane są wszystkie bęłdy (osobno jśli login został źle odany email itd..
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.