Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] problem z eregi
herbatniczek
post 14.02.2005, 18:30:43
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 12.10.2004

Ostrzeżenie: (0%)
-----


POnizej jest kawalek kodu. funckcja eregi wykrywa błąd i zapisuje go do tablicy błędów jeśli np. post odbierze zmienną ZACZYNAJĄCĄ się niewłaściwym znakiem, np &tomek, a jeli jest tom&ek, albo tomek& to nie dziala. co nalezy poprawic? ogolnie chdzi o to,zebylogin nie zawieral niewlasciwych znakow. ma zawierać cyfry,litery lub podkreślnik.
Kod:
  1. <?php
  2. elseif(!eregi('^[a-zA-Z0-9_]',$_POST['login'])) 
  3. { 
  4. $tablica_bledow['login']='niedozwolony znak'; 
  5. }
  6. ?>


Ten post edytował seaquest 15.02.2005, 16:39:52
Go to the top of the page
+Quote Post
rogrog
post 14.02.2005, 19:30:11
Post #2





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

Ostrzeżenie: (0%)
-----


musisz na końcu wyrażenia dodać $ jako koniec ciągu


--------------------
Go to the top of the page
+Quote Post
crash
post 14.02.2005, 19:48:22
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


i określić ilość znaków czyli całe wyrażenie: ^[a-zA-Z0-9_]+$ zasmiast + możesz dać na przykład przedział określony {x,y}. Więcej info w manualu...


--------------------
Go to the top of the page
+Quote Post
herbatniczek
post 14.02.2005, 20:56:41
Post #4





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 12.10.2004

Ostrzeżenie: (0%)
-----


dzeki, chyba działa, nie rozumiem dlaczego jest to +$ ale poszukam w manualu, o ile go znajdę smile.gif

dobra,na php.net nie znajduje konkretnego wyjaśnienia czemu + $, sąz tym przykłady aleto nie jest opisane. Wytłumaczcie mi prosze, właściwie dlaczego to nie działa bez tego? i kiedy ktos chciałby użyć eregi bez +$ ?

Cytat
musisz na końcu wyrażenia dodać $ jako koniec ciągu


a jeśli nie dodaje, to co ta funkcja robi?

Ten post edytował herbatniczek 14.02.2005, 21:04:06
Go to the top of the page
+Quote Post
Vertical
post 14.02.2005, 21:24:23
Post #5





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Jeśli nie dodasz $ to funkcja sprawdza, czy na początku wyrażenia znajdują się wymienione znaki

Ten post edytował Vertical 14.02.2005, 21:24:50
Go to the top of the page
+Quote Post
herbatniczek
post 14.02.2005, 22:34:25
Post #6





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 12.10.2004

Ostrzeżenie: (0%)
-----


oki,dzieki, a jak do elseif(!eregi('^[a-zA-Z0-9_]',$_POST['login']))
dodac znaki '-', '(' i ')', tylko te trzy.
Go to the top of the page
+Quote Post
crash
post 14.02.2005, 23:20:54
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


  1. <?php
  2. elseif(!eregi('^[a-zA-Z0-9_()-]+$',$_POST['login']))
  3. ?>
?


--------------------
Go to the top of the page
+Quote Post
bendi
post 15.02.2005, 09:52:27
Post #8





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(herbatniczek @ 2005-02-14 21:56:41)
dzeki, chyba działa, nie rozumiem dlaczego jest to +$ ale poszukam w manualu, o ile go znajdę smile.gif

http://br-webdesign.net/bendi/articles/php/regex/1/
http://br-webdesign.net/bendi/articles/php/regex/2/
http://br-webdesign.net/bendi/articles/php/regex/3/


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 19:28