Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Skyrpt logowania - nie pobieranie rekordu
Forum PHP.pl > Forum > Przedszkole
akcza
Witam, oto kod:

  1. <form action = "" method ="POST">
  2. Login: <input type ="text" name="login"> <br />
  3. Haso: <input type ="text" name="haslo"> <br />
  4. <input type ="submit" value="Zaloguj"> <br />
  5. </form>
  6.  
  7. <?php
  8. $login=$_POST['login'];
  9. $haslo=$_POST['haslo'];
  10. require "skrypty.php";
  11. connection();
  12. if (!empty($login) and !empty($haslo))
  13. {
  14.  
  15.  
  16. $zapytanie = "SELECT `haslo` FROM `uzytkownicy` WHERE `login` = '$login' ";
  17. $wykonaj = mysql_query($zapytanie);
  18.  
  19. while ($row = mysql_fetch_row($wykonaj))
  20.  
  21. if ($row[0]==$haslo)
  22. {
  23. echo 'ok';
  24. //session_start();
  25. //$_SESSION['login']= $login;
  26. //header ("Location: panel.php");
  27.  
  28. }
  29. else
  30. echo 'Zle dane';
  31. };
  32.  
  33. ?>


Otóż nie pobiera mi z bazy hasła - $row[0] jest puste. Nie wiem w czym mam błąd, bo gdy w phpadmin wpisuje SELECT `haslo` FROM `uzytkownicy` WHERE `login` = 'tutaj_login' to mi normalnie wyśiwetla dane. Pewnie jakiś prosty błąd, jednak wpatruje sie w to od godziny i nic nie moge wymyślęć.
erix
Standardowo - mysql_error i var_dump na tablicy $row.

BTW: Poczytaj o SQL Injection.
akcza
Mysql_error nic nie wyrzuca.
Var_dumb[$row] daje array(1) { [0]=> string(6) "siemka" }.
Nadal nie wiem gdzie leży błąd.

Co do SQL Injection - wiem, co to smile.gif Potem będę skrypt zabezpieczać.
sadistic_son
Lepiej zrobić to tak:
  1. <?php
  2. $login=$_POST['login'];
  3. $haslo=$_POST['haslo'];
  4. require "skrypty.php";
  5. connection();
  6. if (!empty($login) and !empty($haslo))
  7. {
  8.  
  9.  
  10. $zapytanie = "SELECT * FROM `uzytkownicy` WHERE `login` = '$login' AND `haslo`='$haslo'";
  11. $wykonaj = mysql_query($zapytanie);
  12. $num=mysql_num_rows($wykonaj);
  13. if($num==1){
  14.  
  15. echo 'ok';
  16. //session_start();
  17. //$_SESSION['login']= $login;
  18. //header ("Location: panel.php");
  19.  
  20. }
  21. else{
  22. echo 'Zle dane';
  23. }
  24. }
akcza
Dzięki, działa smile.gif Jednak nadal nie wiem czemu tamten kod szwankował.
sadistic_son
Nie wiem czemu tamto nie działało, nie sprawdzałem ale spójrz na te linijki z Twojego kodu:
  1. else
  2. echo 'Zle dane';
  3. };
Coś w nich jest nie tak, co?
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.