Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][MYSql] Rejestracja
Forum PHP.pl > Forum > PHP
mayu11
Witajcie... chciałbym zrobić coś takiego, by nick użytkownika i jego hasło mogło zawierać jedynie znaki [a-zA-Z0-9], próbowałem preg matchem, ale akceptuje on znaki inne typu @, próbowałem preg match all, ale też, albo błędy, albo nie działa.

Bardzo proszę o pomoc.
wookieb
No a kodu nie podałeś...
Kshyhoo
Gotowiec:
  1. if (strlen($login)<3 or strlen($login)>50
  2. or !eregi("^[a-zA-Z0-9_.]+$",$login)) { $blad++;
  3. echo "Login musi mieć od 3 do 50 znaków bez polskich liter i spacji!<br />";
  4. }
  5. ...
  6. if (strlen($haslo)<6 or strlen($haslo)>50
  7. or !eregi("^[a-zA-Z0-9]+$",$haslo)) { $blad++;
  8. echo "Hasło musi mieć od 6 do 50 znaków bez polskich liter i spacji!<br />";
  9. }
  10. ...
mayu11
'Your nickname is @asd, and your password is asda, you can login right now!'

Niestety nie działa.. ;/
Kshyhoo
U mnie działa jak ta lala...
mayu11
Cytat
This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.





Funkcja została usunięta, może masz starsze PHP.


Kshyhoo
O czym Ty mówisz? O strlen i eregi questionmark.gif Pierwsze słyszę ;p
Mephistofeles
Jeszcze nie została usunięta, ale zostanie.
mayu11
Zamiast eregi użyłem preg match all i działa, ale wywala mi nieładny błąd. (Znaczy chyba działa.)


Cytat
Warning: preg_match_all() expects at least 3 parameters, 2 given in /Ścieżka_dostępu on line 15
Hasło musi mieć od 4 do 20 znaków i zawierać litery abecadła oraz cyfry.


Linia 15
  1. if(strlen($user)>3 AND strlen($user)<20 AND !preg_match_all("^[a-zA-Z0-9_.]+$",$user)){
Quantum
poczytaj do czego służy preg_match_all winksmiley.jpg zastosuj preg_match
mayu11
Cytat(sniffer32 @ 16.01.2010, 06:40:44 ) *
poczytaj do czego służy preg_match_all winksmiley.jpg zastosuj preg_match



Używałem, ale on sprawdza czy zgadza się choćby kawałek.. pregall działa, ale wywala błąd, czy ktoś wie jak go usunąć?
Quantum
Cytat(mayu11)
Używałem, ale on sprawdza czy zgadza się choćby kawałek.. pregall działa, ale wywala błąd, czy ktoś wie jak go usunąć?


blink.gif

  1.  
  2. if(strlen($user) > 3 && strlen($user) < 20 && preg_match('/^[a-zA-Z0-9_.]++$/', $user)) {
  3.  
  4. echo 'poprawne';
  5.  
  6. }
  7.  
mayu11
Świetnie działa! Dziękuje bardzo biggrin.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.