Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] wyrazenia regularne
Forum PHP.pl > Forum > Przedszkole
escobar1983
witam mam problem z wyrazeniami regularnymi
  1. <?php
  2. if(isset($_POST['imie']) && ($_POST['nazwisko']) && ($_POST['miasto']) && ($_POST['ulica']) && ($_POST['wojewodztwo']))
  3.  {
  4. if (strlen(($_POST['imie']) && ($_POST['nazwisko']) && ($_POST['miasto'])&& ($_POST['ulica'])&& ($_POST['wojewodztwo'])) > 4 )
  5.  {
  6.  echo '<br />Zle wpisany imie lub nazwisko <a href="dodawanie.php">Powrot</a> <br />';
  7.  exit;
  8.  }
  9. if (!eregi('^[a-zA-Z]',(($_POST['imie'])&& ($_POST['nazwisko'])&& ($_POST['miasto'])&& ($_POST['ulica'])&& ($_POST['wojewodztwo']))))
  10.  {
  11.  echo '<br />Nie poprawnie wpisane dane Imie lub nazwisko. Prosze powróci do poprzedniej s
    trony i sprobowac ponownie <a href="dodawanie.php">Powrot</a><br />'
    ;
  12.  exit;
  13.  } }
  14. ?>
za kazdym razem gdy podaje dane wyskakuje mi bla Nie poprawnie wpisane dane Imie... Co jest tutaj nie tak ?
Pozdrawima
mokry
1. Twoje wyrażenie regularnie nie pozwala na używanie polskich znaków dialektycznych, czyli np Michał już nie przejdzie.
2. Jeśli sprawdzasz tylko imię, to dlaczego korzystasz w kodzie z warunków dla innych przesłanych przez użytkownika pól?
3. Dlaczego do sprawdzanej treści wrzucasz te wszystkie pola jako jeden argument funkcji eregi()?

Zrób wszystko po kolei i najpierw skup się na samym polu imię a dopiero potem dopisz sobie inne warunki dla pozostałych pól przesyłanego formularza.

BTW: Zmień w pierwszym poście tag [code] na [php].
l0ud
escobar1983, co Ty przekazujesz do funkcji eregi() jako drugi argument? Bo z tego co wiem, to może być tylko jedna zmienna typu string...

http://pl2.php.net/manual/pl/function.eregi.php
escobar1983
chcialem podpiac za jednym zamachem wszystkie dane wpisywane do rozmularza i sprawdzic czy sa tylko literami DUZYMI i malymi . Gdzie jest blad??
mokry
Nie możesz podpiąć za jednym zamachem do funkcji eregi kilku parametrów i to w dodatku w sposób, który zrobiłeś.
Musisz rozbić to na kilka warunków dla każdego pola z osobna.
escobar1983
aha ok ale co jest z tym zle bo wywala mi teraz nawet imie przechodzi z liczbami
  1. <?php
  2. if (!eregi('[a-zA-Z]',$_POST['imie'] ))
  3. ?>
:/
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.