Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Walidacja formularza
Forum PHP.pl > Forum > Przedszkole
osa2t
Witam,
Mam pytanie dotyczące pobierania danych z formularza. Proszę spojrzeć na podstawowy schemat formularza html. Używam tablicy $_POST w celu odebrania danych z formularza, dalej będzie znajdował się skrypt sprawdzający czy dane są poprawne. Problem polega że przy pierwszym wywołaniu pliku index.php otrzymuje komunikat o niezdefiniowanych zmiennych, po pierwszym wysłaniu komunikatu komunikat znika. Jak uniknąć takiego błędu?

  1. Notice: Undefined index: imie in C:\wamp\www\n\index.php on line 11
  2.  
  3. Notice: Undefined index: email in C:\wamp\www\n\index.php on line 12


  1. <form action="index.php" method="post">
  2. imię:<br />
  3. <input type="text" name="imie" /><br />
  4. e-mail:<br />
  5. <input type="text" name="email" /><br />
  6. <input type="submit" value="dodaj" />
  7. </form>
  8.  
  9. <?php
  10. // odbieramy dane z formularza
  11. $imie = $_POST['imie'];
  12. $email = $_POST['email'];
  13.  
  14. //Tutaj część sprawdzająca dane z formualrza
  15.  
  16. ?>
MateuszS
  1. <input type="submit" value="dodaj" name="booyakasha" /> //dodalem name,


  1. if(isset($_POST["booyakasha"])) {
  2. $imie = $_POST['imie'];
  3. $email = $_POST['email'];
  4. }


teraz sprawdź
thek
Mateusz dobrze Ci podpowiada. Musisz sprawdzić czy zmienna POST zawiera pewne określone dane. Najlepiej to wyłapywać poprzez sprawdzenie czy name przycisku submit w niej się znajduje. Problemem innej natury jest fakt, czy w razie błędów chcesz mieć ponownie wpisane wcześniej do formularza dane dostępne czy nie. Jeśli tak, to niestety ale bez przebudowania się nie obejdzie i w takich wypadkach najlepiej wtedy formularz mieć dopiero ZA walidacją, tyle że najwygodniej wtedy stworzyć dodatkową strukturę danych formularza. A ten temat już sie przewinął na firum wielokrotnie, więc użyj do niego wyszukiwarki tutejszej.
Pilsener
Cytat
Jak uniknąć takiego błędu?
- i gwoli ścisłości, notice to nie błąd, lecz jedynie sugestia, że (akurat w tym wypadku) próbujesz użyć nieistniejącej zmiennej.
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.