Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błąd występujący przy przypisaniu wartości metody statycznej
Forum PHP.pl > Forum > PHP > Object-oriented programming
tkopacki
Witam, mam prosty kod, służący do autoryzacji użytkownika:
  1. <?php
  2. class Auth
  3. {
  4. private static function checkLoginData($login, $password)
  5. {
  6. $password = md5($password);
  7. $db = Db::getInstance();
  8. $db->query("SELECT id FROM employees WHERE login = '$login' AND password = '$password'");
  9. $result = $db->fetch();
  10. return $result != false ? $result->id : false;
  11. }
  12.  
  13. public static function logIn($login, $password)
  14. {
  15. print_r(self::checkLoginData($login, $password)); // to zwraca poprawna wartosc, czyli id logujacego sie wlasnie uzytkownika
  16.  
  17. $id = self::checkLoginData($login, $password); // a to niestety nie przypisuje zmiennej $id numeru id logujacego sie uzytkownika
  18. //od tego momentu (przy próbie przypisania) skrypt przestaje działać
  19. var_dump($id);
  20. echo 5;
  21.  
  22. if($id!=false) //corect data
  23. {
  24. Session::logUserIn($id, "employee");
  25. return true;
  26. }
  27. return false;
  28. }
  29. }


Korzystam z PDO, a fakt występującego błędu jest dla mnie dziwny i niezrozumiały, gdyż drukując wynik wywołania metody checkLoginData otrzymuję poprawny wynik. Gdy tylko chcę go przypisać do zmiennej, występuje jakiś błąd i skrypt kończy pracę.
Czy ktoś spotkał się kiedyś z czymś podobnym?
franki01
Włączyłeś error_reporting(E_ALL)? Wydaje mi się, że problem leży w private tej metody. Spróbuj zmienić na public i zobacz czy pójdzie.
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.