Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Logowanie username or email
MESSIAH :)
post
Post #1





Grupa: Zarejestrowani
Postów: 249
Pomógł: 0
Dołączył: 22.12.2011

Ostrzeżenie: (10%)
X----


Jak poprawnie wywołać kod do logowania przy użyciu nazwy użytkownika lub emaila?
  1. if ($stmt = $mysqli->prepare("SELECT id, username, password, salt
  2. FROM members
  3. WHERE email = ? LIMIT 1")) {

zmieniam na
  1. if ($stmt = $mysqli->prepare("SELECT id, username, password, salt
  2. FROM members
  3. WHERE email = ? OR username = ? LIMIT 1")) {


Lecz wciąż nie działa przy użyciu username i nie można zalogować po nazwie użytkownika.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




@Pyton_000: Ale w takim przypadku zamykasz sobie drogę na informację zwrotną dlaczego użytkownik się nie zalogował. Bo wpisał niepoprawne hasło? Bo jego konto jest nieaktywne? Bo ma jakąś inną flagę ustawioną? Ja też wyciągam dane na podstawie loginu, a potem w PHP porównuję pozostałe parametry.

@MESSIAH: Co do pytania to proponuję dynamicznie podmieniać kolumnę na podstawie tego, co przesłał użytkownik. Jeśli jest to prawidłowy adres e-mail (można skorzystać z filter_var z flagą FILTER_VALIDATE_EMAIL) - użyj kolumny email, jeśli nie - username. Nie bawiłbym się w żadne ORy bo to skutecznie uniemożliwi użycie indeksu. W zaproponowanym przeze mnie rozwiązaniu jest 1 minus - przypadek, gdy nazwa użytkownika jest adresem e-mail, a podany adres e-mail jest inny (IMG:style_emoticons/default/smile.gif) no ale to raczej mało realny przypadek.
Go to the top of the page
+Quote Post

Posty w temacie
- MESSIAH :)   Logowanie username or email   11.01.2015, 21:00:37
- - rad11   Moze wina jest to ze robisz tak: [PHP] pobierz, p...   11.01.2015, 21:09:04
- - MESSIAH :)   Jeśli zmienię email na username tutaj: [PHP] pobie...   11.01.2015, 21:20:49
- - rad11   to takie zapytanie zrob ja napisalem przykladowo t...   11.01.2015, 21:23:03
- - MESSIAH :)   Nie rozumiemy się chyba. Ja chce przerobić zapytan...   11.01.2015, 21:38:39
- - sazian   [PHP] pobierz, plaintext $stmt = $mysqli->prepa...   11.01.2015, 21:54:30
- - zidek   Pobieranie hasła z bazy jest raczej niepotrzebne, ...   12.01.2015, 02:51:19
- - com   CytatPobieranie hasła z bazy jest raczej niepotrze...   12.01.2015, 09:48:59
- - Pyton_000   Tak, ale można to sprawdzić w zapytaniu   12.01.2015, 10:09:19
|- - sowiq   Cytat(Pyton_000 @ 12.01.2015, 11:09:1...   12.01.2015, 10:17:17
- - phpion   @Pyton_000: Ale w takim przypadku zamykasz sobie d...   12.01.2015, 10:19:56
|- - MESSIAH :)   Cytat@MESSIAH: Co do pytania to proponuję dynamicz...   12.01.2015, 18:05:54
- - Pyton_000   Dlaczego? Generuję sobie hash z hasła i sprawdzam ...   12.01.2015, 10:20:50
|- - phpion   Cytat(Pyton_000 @ 12.01.2015, 10:20:5...   12.01.2015, 10:21:48
|- - sowiq   Cytat(Pyton_000 @ 12.01.2015, 11:20:5...   12.01.2015, 10:22:38
- - phpion   @sowiq: Chyba, że sól jest wspólna dla wszystkich ...   12.01.2015, 10:23:52
- - sowiq   Wspólna sól = brak soli.   12.01.2015, 10:24:49
- - Pyton_000   @sowiq tak czysto informacyjnie używam Crypt z moż...   12.01.2015, 10:49:35
- - sowiq   Bardzo dobrze, że używasz crypt. Jeśli chodzi o ...   12.01.2015, 10:54:48
- - Pyton_000   Ten argument do mnie trafia bo jest racjonalny i p...   12.01.2015, 10:58:17
- - com   Pyton_000 zgadzam się można, ale ten oto programis...   12.01.2015, 16:11:52
- - Pyton_000   Pokaż zapytanie którym pobierasz dane oraz jak je ...   12.01.2015, 18:23:40
- - MESSIAH :)   [PHP] pobierz, plaintext function login($email...   12.01.2015, 19:55:57
- - Pyton_000   Dodajesz do WHERE waruneek i kolejny bind_param i ...   12.01.2015, 20:08:50
- - MESSIAH :)   Dodałem tylko opcje: [PHP] pobierz, plaintext if...   12.01.2015, 21:41:01
- - com   Cytat(MESSIAH :) @ 12.01.2015, 21...   12.01.2015, 21:49:44
|- - MESSIAH :)   Cytat(com @ 12.01.2015, 21:49:44 ) I ...   13.01.2015, 00:21:29
- - zidek   To ja tylko dopowiem, że podając warunek "WHE...   12.01.2015, 22:58:06
- - com   ok to dobrze zidek taka sol to nie sol dlaczego,...   13.01.2015, 00:32:45
- - Pyton_000   A ja dalej nie rozumie tej całej kombinacji i magi...   13.01.2015, 08:18:12
|- - MESSIAH :)   Niestety juz próbowałem z opcją OR i nie działało....   13.01.2015, 13:49:59
- - phpion   Jeśli chodzi o dynamiczne podstawianie kolumny to ...   13.01.2015, 14:37:54
- - Pyton_000   Chcesz powiedzieć że nie masz w bazie pola usernam...   13.01.2015, 14:53:25
- - MESSIAH :)   Ja mam tak: [PHP] pobierz, plaintext $email = ...   13.01.2015, 14:54:24


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

 



RSS Aktualny czas: 8.10.2025 - 13:53