Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP] Problem z walidacja danych
Forum PHP.pl > Forum > Przedszkole
rad11
Witam jestem tu nowy prosilbym o wyrozumialosc . Nie moge sobie dac rady z walidacja danych w swoim skrypcie opinii tzn kiedy wciskam dodaj to dodaje puste opinie, a chce aby po wcisnieciu dodaj gdy sa puste pola poprostu pokazywal sie komunikat:
  1.  
  2. echo "Zle wypelniles ankiete<br/>";
  3. echo "Wymagane sa wszystkie pola<br/>";
  4. echo "<a href ='index.php'>Wróć do strony głównej</a><br/>";
  5. echo "<a href ='opinie.php'>Wróć do wypelniania ankiety</a><br/>";
  6.  



Prosil bym o podpowiedz co jest nie tak bo juz nie mam do tego sily smile.gif




plik opinie.php

Tutaj mam formularz ktory jest obslugiwany przez akcje ankieta.php

  1.  
  2. <div class="form">
  3. <form method="post" action="ankieta.php">
  4.  
  5. Imie: <div><input type="text" name="imie" value=" " />*<br/></div><br/>
  6.  
  7. Nazwisko: <div><input type="text" name="nazwisko" value=" " />*<br/></div><br/>
  8.  
  9. Miasto: <div><input type="text" name="miasto" value=" " />*<br/></div><br/>
  10.  
  11. Tresc opini:*<br/>
  12. <textarea cols="50" rows="10" name="wiadomosc" style="resize: none;" ></textarea><br/><br/>
  13. <input type="submit" name="dodaj" value="Dodaj" /><br/>
  14. </form>
  15.  
  16. <p id = "wym"> * - wymagane wszystkie pola.</p>
  17. </div>



plik ankieta.php


  1. <?php
  2.  
  3.  
  4.  
  5. if(empty($_POST['dodaj']) && !isset($_POST['imie'] )&& !isset($_POST['nazwisko']) && !isset($_POST['miasto'] ) && !isset($_POST['wiadomosc'] )){
  6.  
  7.  
  8. echo "Zle wypelniles ankiete<br/>";
  9. echo "Wymagane sa wszystkie pola<br/>";
  10. echo "<a href ='index.php'>Wróć do strony głównej</a><br/>";
  11. echo "<a href ='opinie.php'>Wróć do wypelniania ankiety</a><br/>";
  12.  
  13. }
  14.  
  15. Prosze o podpowiedz drodzy forumowicze:)
  16.  
  17. $imie = trim($_POST['imie']);
  18. $nazwisko = trim($_POST['nazwisko']);
  19. $wiadomosc = trim($_POST['wiadomosc']);
  20. $miasto = trim($_POST['miasto']);
  21.  
  22.  
  23.  
  24. include "polacz.php";
  25.  
  26. include "add.php";
  27.  
  28.  
  29. include "after_add.php";
  30. //include "odczyt.php";
  31. //include "czytaj_opinie.php";
  32.  
  33. ?>
untorched
  1. if(empty($_POST['dodaj']) or !isset($_POST['imie'] ) or !isset($_POST['nazwisko']) or !isset($_POST['miasto'] ) or !isset($_POST['wiadomosc'])){
rad11
Cały czas dodaje gdy sa puste pola, probowalem juz roznych kombinacji. sad.gif
RiE
Zamiast
  1. empty($_POST['dodaj']) && !isset($_POST['imie'] )&& !isset($_POST['nazwisko']) && !isset($_POST['miasto'] ) && !isset($_POST['wiadomosc'] )

daj:
  1. isset($_POST['dodaj']) && empty($_POST['imie'] )&& empty($_POST['nazwisko']) && empty($_POST['miasto'] ) && empty($_POST['wiadomosc'] )

I powinno być ok.
rad11
W tej kombinacji to wogole nic nie chce przejsc ani puste ani uzupelnione sad.gif

  1. if(!isset($_POST['dodaj']) or empty($_POST['imie'] ) or empty($_POST['nazwisko']) or empty($_POST['miasto'] ) or empty($_POST['wiadomosc'] )){
Takie rozwiazanie najlepiej mi dziala ale kiedy wpisze tekst opinii to dodaje sama opinie
RiE
Dopiero teraz zauważyłem w czym jest problem, spróbuj teraz:
  1. isset($_POST['dodaj']) && empty($_POST['imie'] ) || empty($_POST['nazwisko']) || empty($_POST['miasto'] ) || empty($_POST['wiadomosc'] )
rad11
Nadal po wpisaniu wiadomosci dodaje ja.

Wykasowalem w formularzu value i zaczelo dzialac normalnie smile.gif
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.