Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z funkcją logowanie
Forum PHP.pl > Forum > Przedszkole
-welll1-
Otóż mam dwa pliki.
Jeden to index.php a drugi function.php
plik function.php wygląda tak
  1. function zaloguj($login, $haslo)
  2. {
  3. $haslo = mysql_real_escape_string($haslo);
  4. $haslo = sha1($haslo);
  5. $login = mysql_real_escape_string($login);
  6.  
  7. $zapytanie = "SELECT * FROM users WHERE login = '$login' AND password = '$haslo'";
  8. $wykonaj = mysql_query($zapytanie);
  9. $ile = mysql_num_rows($wykonaj);
  10.  
  11. if($ile == 1)
  12. {
  13. while($wiersz = mysql_fetch_array($wykonaj))
  14. {
  15. $id = $wiersz['id'];
  16. }
  17. $_SESSION['uzytkownik'] = $id;
  18. return true;
  19. }
  20. else
  21. return false;
  22. }
  23.  
  24. function wyloguj()
  25. {
  26. $_SESSION = array();
  27. }
  28. ?>


W index.php
mam zamieszczony komunikat który pojawia się zawsze:
  1. if(isset($_GET['action']) == 'login')
  2. {
  3. if(zaloguj($_POST['log'], $_POST['has']))
  4. {
  5. $_SESSION['admin'] = 1;
  6. }
  7. else
  8. {
  9. echo 'Podales zle dane';
  10. }
  11. }
  12.  
  13. if(isset($_GET['action']) == 'logout')
  14. {
  15. wyloguj();
  16. }


bez względu na podane dane.
W MYSQL mam stworzoną tabelę users a w niej ID login no i password. Hasła koduję w MD5.
Co tutaj może być nie tak?
nospor
Skoro hasła przechowujesz w md5 to i przy SELECT też wypadałoby te md5 użyć...
Zanim zadasz kolejne pytanie:
Temat: Jak poprawnie zada pytanie
welll1
Gdy nie koduję w md5 problem również występuje.
nospor
Podałem ci linka i prosiłem wyraźnie po polsku byś sie znim zapoznał zanim napiszesz następnego posta. Po chińsku mam pisać byś zrozumiał?
welll1
Jeśli chodzi o zapytania to nie pojawiają się żadne komunikaty. Po prostu zawsze pojawia się napis Podałes zle dane i tyle. Nie zwraca żadnych błędów przy tym.
nospor
1) Link co ci podałem zawiera nie tylko informacje o błedynych zapytaniach ale o masie innych rzeczy, np. var_dump()
2) Jeśli robiłeś md5 przy select to też go pokaż bo może źle robisz - skad mamy wiedziec...
welll1
sha1 jest ustawione w function nie zauważyłem tego. Zmieniłem w mysql hasło i kodowanie na sha1. Teraz nie pojawia się ten komunikat ale też nie loguje mnie. Którą zmienną chciałbyś podejrzeć var_dumpem?

Komunikaty jakie mam teraz to:
Undefined index: has
Undefined index: log
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.