Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie / blad
Forum PHP.pl > Forum > PHP
DannyM
Witam.

Mam taki programik sprawdzajacy poprawnosc logowania.
Podczas logowania wyskakuje mi blad:
Fatal error: Call to undefined function: mhash() in .... on line 33

  1. <?php
  2.  
  3. include (&#092;"page_header.php\");
  4.  
  5. require(&#092;"config.php\");
  6.  
  7.  
  8. function ha_admin_check_login($db_host,$db_user,$db_passwd)
  9. {
  10. global $HTTP_POST_VARS, $admin;
  11. $login_ok = false; // wg tej zmiennej na koncu podejmowane sa
  12. // pewne dzialania
  13. $db_link = mysql_pconnect($db_host,$db_user,$db_passwd)
  14. or die(&#092;"Nie mogę nawiazać polaczenia z MySQL\");
  15. $sql = &#092;"select * from login where login='\".
  16. $HTTP_POST_VARS[&#092;"input_user\"].\"'\";
  17. $result = mysql_db_query(DB_NAME, $sql);
  18.  
  19. if(mysql_num_rows($result)==1) {
  20. $admin = mysql_fetch_object($result); // pobierz obiekt DB
  21.  
  22. switch($admin->passwd) {
  23. case &#092;"*\": {
  24. $login_ok = true;
  25. break;
  26. }
  27. case &#092;"-\": {
  28. $login_ok = false;
  29. break;
  30. }
  31. default: {
  32. $hash_passwd = bin2hex(
  33. mhash(MHASH_MD5, $HTTP_POST_VARS[&#092;"input_password\"]));
  34. if($hash_passwd == $admin->passwd)
  35. $login_ok = true;
  36. }
  37. }
  38. } // if
  39.  
  40.  
  41. if($login_ok) {
  42. session_register(&#092;"admin\"); 
  43.  
  44.  
  45.  }
  46. return $login_ok;
  47.  
  48. } // ~ha_admin_check_login
  49.  
  50.  
  51.  
  52.  
  53. // ===========================================================================
  54.  
  55. $admin = NULL;
  56.  
  57. if(ha_admin_check_login(DB_HOST_NAME, DB_USER_NAME, DB_USER_PASSWD))
  58. include (&#092;"admin_index.php\");
  59. else
  60. include (&#092;"admin_loginfailed.php\");
  61.  
  62.  
  63. include (&#092;"page_footer.php\");
  64. ?>
nospor
Jak komunikat glosi, wywolujesz nie zdefiniowane funkcji mhash.
Poczytaj se to:http://pl.php.net/mhash
wymagania,instalacja
DannyM
Szczerze mowiac jak bym wiedzial co jest nie tak to bym nie pisal na forum winksmiley.jpg
Przeczytalem ale nie wiele mi to mowi o tym bledzie sad.gif
czachor
Wywołujesz niezdefiniowaną funkcję, czyli masz w Twoim przypadku jedną przyczynę: nie posiadasz zainstalowanej biblioteki mhash. Skąd ściągnąć i jak zainstalować jest napisane w linku podanym przez @nospor'a.
nospor
To spróbuj dać w php.ini taką linijkę: extension=php_mhash.dll
i sprawdź czy w katalogu extensions(tab gdzie są php dll) jest plik php_mhash.dll
DannyM
Rozumiem. Dziekuje za wyjasnienie.
W takim razie musze pisac do admina (netart) aby taka funkcje uruchomil.
Czy jest mozliwosc zamiany tej funkcji na inna "standardowa" bez koniecznosci doinstalowywania?
Chce sie ubezpieczyc smile.gif
nospor
Możesz poszukać kodów funkcji będących odpowiednikiem tego co używasz. Jest tego chyba trochę w necie
alfanick
A ja powiem, przeczytaj regulamin tego działu forum.. Jest tam napisane iż to forum służy do publikowania gotowych i sprawnych funkcji, algorytmów czy klas...

Proszę moderatorów o przeniesienie tego posta.
DannyM
No tak teraz to juz poszlo na maxa.
Zawsze sie ktos taki znajdzie.
Ja prosze modera aby usunol ten watek bo jak widze nic nie wnosci do php zdaniem innych smile.gif
Bakus
Algorytmy -> php
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.