Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Sprawdzenie czy dany użytkownik istnieje
Forum PHP.pl > Forum > Przedszkole
djpotwosss
Witam, mam następujący problem. Otóż mam skrypt rejestracji sprawdzający czy dany uzytkownik istnieje:
  1. $spr1 = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM uzytkownicy WHERE nick='$nick' LIMIT 1")); //czy user o takim nicku istnieje


Problem zaczyna się, gdy użytkownik zarejestruje sie o nicku marek a w bazie istnieje użytkownik o nicku Marek skrypt go puszcza i rejestruje.

Jak ten problem ugryźć?
alex19
Możesz np zmienić wszystkie znaki na małe litery albo za pomoca php i dawać do zapytania już gotowe dane albo zrobić to w zapytaniu tak:
  1. SELECT COUNT(*) FROM uzytkownicy WHERE lower(nick)=lower('$nick') LIMIT 1
viking
Albo binary.
L0k0
Hej

Musisz zdecydować na etapie rejestracji użytkowników czy chcesz rozpoznawać w loginie małe i duże litery czy nie.

Jeśli nie to musisz przyjąć jakiś jeden wariant i np. zamieniać wszystkie duże litery na małe i tak dodawać do bazy.

Pozdrawiam
Turson
@l0k0, po co wszystko zamieniać i nie dac userowi pełnego wyboru znakow? Wystarczy w zapytaniu porównywać takie same
L0k0
Cytat(Turson @ 5.01.2015, 15:51:23 ) *
@l0k0, po co wszystko zamieniać i nie dac userowi pełnego wyboru znakow? Wystarczy w zapytaniu porównywać takie same


Wydaje mi się, że to ma na celu uniknięcia 'podszywania' się pod kogoś. Spotkałem się z tym na kilku forach czy czatach.

Załóżmy, że mnie wkurzyłeś: zakładam konto turson i np. wyklinam kogoś. Wiadomo, że potem możesz się tłumaczyć itd. ale - jak w tym dowcipie - niesmak pozostanie wink.gif

Pozdrawiam
alex19
Cytat(L0k0 @ 5.01.2015, 15:57:10 ) *
Wydaje mi się, że to ma na celu uniknięcia 'podszywania' się pod kogoś. Spotkałem się z tym na kilku forach czy czatach.

Załóżmy, że mnie wkurzyłeś: zakładam konto turson i np. wyklinam kogoś. Wiadomo, że potem możesz się tłumaczyć itd. ale - jak w tym dowcipie - niesmak pozostanie wink.gif

Pozdrawiam


No ale przecież dajesz wybór użytkownikowi np "AbC" albo "abc", ale jak już jest konto "AbC", to "abc" nie założysz, bo lower('AbC')='abc'.
Turson
Cytat(L0k0 @ 5.01.2015, 15:57:10 ) *
Wydaje mi się, że to ma na celu uniknięcia 'podszywania' się pod kogoś. Spotkałem się z tym na kilku forach czy czatach.

Załóżmy, że mnie wkurzyłeś: zakładam konto turson i np. wyklinam kogoś. Wiadomo, że potem możesz się tłumaczyć itd. ale - jak w tym dowcipie - niesmak pozostanie wink.gif

Pozdrawiam

Czemu user ma mieć obowiazek używania samych małych liter jeżeli chce innych? Czemu ma nie móc posiadać login "Jan Kowalski" a zamiast tego "jak kowalski"? Niech tylko będzie restrykcja, że jak istnieje "Jan Kowalski" to żadna kombinacja wielkości znaków nie jest dozwolona
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.