Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Problem z logowaniem
Forum PHP.pl > Forum > Przedszkole
dawids2411
Witam

  1. <?php
  2. if (isset($_POST['login']) and isset($_POST['password']))
  3. {
  4. if(!$_POST['login'] || !$_POST['password']) // sprawdzamy czy wszystkie pola zostały wypełnione...
  5. {
  6. echo 'Nie podano loginu lub hasła!<br/><a href="login.php">Powrót</a>'; // jeżeli nie to wywala komunikat
  7. }
  8. /* jeżeli tak, to pobierane dane z bazy o użytkowniku... */
  9. else {
  10. $user = mysql_real_escape_string(trim($_POST['login']));
  11. $pass = mysql_real_escape_string(trim($_POST['password']));
  12. $pass = sha1($pass);
  13. $zapytanie = ('SELECT * FROM users WHERE login="'.$user.'" AND haslo ="'.$pass.'"');
  14. $zapytanie1 = mysql_query($zapytanie) or die(mysql_error());
  15. $ile = mysql_num_rows($zapytanie1);
  16. $zapytanie1 = mysql_fetch_array($zapytanie1);
  17. $id = $zapytanie1['id'];
  18. if ($ile == 1)
  19. {
  20. $_SESSION['login'] = $user;
  21. $_SESSION['password'] = $pass;
  22. echo "Dziękujemy za zalogowanie się <b>".$_SESSION['login']."</b>!<br/>
  23. Przejdź do <a href='tabela.php'>Zarzadzania</a>";
  24. }
  25. /* .. lub o błędnych danych */
  26. else { echo ('Podano nieprawidłowe dane!<br/><a href="login.php">Spróbuj ponownie</a>'); }
  27. }
  28. }
  29. ?>


kod wyzej jest od logowania które po wpisaniu loginu i hasla ciagle pisze ze niepoprawne dane czyli nie wykonuje się zmienna $ile ehh nie wiem co tu jest zle mi sie wydaje wszystko wporzadku moze wy cos wypatrzycie
peter13135
wyświetl sobie zapytanie (daj echo tego co podajesz jako parametr do mysq_query) i zobacz jak to działa w phpmyadminie.

Ja pierwsze co bym zrobił, to zamienił cudzysłowy na apostrofy (chociaż nie jestem pewny, czy to jest problemem)
dawids2411
Wysyla mi do sql-a normalnie nazwe uzytkownika i haslo w md5:

SELECT * FROM users WHERE login="admin" AND haslo ="d1217aeeb182c9106254d397ba743802c26d6afe"Podano

Juz wiem w czym tkwi problem Przy rejestracji zapisuje mi inaczej haslo w md5 nie wiem dlaczego tak sie dzieje
Podmienilem to haslo ktore mi sie wyswietlilo w echo i wszystko gra wiec problem rejestracji
Shido
  1. <?php
  2. if (isset($_POST['login']) and isset($_POST['password']))
  3. {
  4. if(!$_POST['login'] || !$_POST['password']) // sprawdzamy czy wszystkie pola zostały wypełnione...
  5. {
  6. echo 'Nie podano loginu lub hasła!<br/><a href="login.php">Powrót</a>'; // jeżeli nie to wywala komunikat
  7. }
  8. /* jeżeli tak, to pobierane dane z bazy o użytkowniku... */
  9. else
  10. {
  11. $user = mysql_real_escape_string(trim($_POST['login']));
  12. $pass = mysql_real_escape_string(trim($_POST['password']));
  13. $pass = sha1($pass);
  14. $zapytanie = ('SELECT * FROM users WHERE login="'.$user.'" AND haslo ="'.$pass.'"');
  15. $zapytanie1 = mysql_query($zapytanie) or die(mysql_error());
  16. $ile = mysql_num_rows($zapytanie1);
  17. $zapytanie1 = mysql_fetch_array($zapytanie1);
  18. $id = $zapytanie1['id'];
  19. if ($ile)
  20. {
  21. $_SESSION['login'] = $user;
  22. $_SESSION['password'] = $pass;
  23. echo "Dziękujemy za zalogowanie się <b>".$_SESSION['login']."</b>!<br/>
  24. Przejdź do <a href='tabela.php'>Zarzadzania</a>";
  25. }
  26. /* .. lub o błędnych danych */
  27. else
  28. {
  29. echo ('Podano nieprawidłowe dane!<br/><a href="login.php">Spróbuj ponownie</a>');
  30. }
  31. }
  32. }
  33. ?>


Wydaje mi się że to powinno przejść, zapewne zmienna $ile nie przyjmuje wartości 1, a z tego co mi się wydaje ( ale nie jestem pewien bo strasznie jestem zaspany tongue.gif ) $ile nie będzie puste tylko wtedy gdy zapytanie się wykona.

Na potwierdzenie mojej tezy daj echo $ile; I zobaczysz co on zwraca.
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.