Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Funkcja PASSWORD()
raqqos
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 28.06.2005
Skąd: Płock

Ostrzeżenie: (10%)
X----


Mam taki problem: za pomocą pliku wsadowego tworze baze z jednoczesnym wpisem rekordu administratora w tabeli urzednicy(pola:id, imie, nazwisko, login, haslo, status_admin). Wszystko ładnie, pięknie się wpisuje - hasełko jest szyfrowane (za pomocą funkcji password()), ale kiedy chcę odczytać ten rekord poprzez funkcję logującą - klapa.
Kod wygląda tak:
  1. <?php
  2. require_once('funkcje_zakladki.php');
  3.  
  4. $login = $HTTP_POST_VARS['login'];
  5. $haslo = $HTTP_POST_VARS['haslo'];
  6.  
  7. if ($login && $haslo)
  8. // właśnie nastąpiła próba logowania
  9. {
  10.  if ($loguj = loguj($login, $haslo));
  11.  {
  12. if ($loguj == 'admin')
  13. {
  14.  $HTTP_SESSION_VARS['uzyt_admin'] = $login;
  15. }
  16. elseif ($loguj == 'zwykly')
  17. {
  18.  $HTTP_SESSION_VARS['uzyt_zwykly'] = $login;
  19. }
  20. else
  21. {
  22.  // niepomyślne logowanie
  23.  tworz_naglowek_html('Problem:');
  24.  echo 'Błąd logowania!
  25. Należy być zalogowanym aby oglądać tę stronę.';
  26.  tworz_html_url('logowanie.php', 'Logowanie');
  27.  print_r($loguj);
  28.  tworz_stopke_html();
  29.  exit;
  30. }
  31.  }
  32. }
  33. tworz_naglowek_html('Strona główna');
  34.  
  35. wyswietl_menu_uzyt();
  36. tworz_stopke_html();
  37. ?>


funkcja loguj wygląda tak:
  1. <?php
  2. function loguj($login, $haslo)
  3. {
  4. $lacz = lacz_bd();
  5. if (!$lacz)
  6. return false;
  7.  
  8. $wynik = mysql_query(&#092;"select status_admin from urzednicy
  9.  where login_urzednika='$login' 
  10.  and haslo_urzednika=password('$haslo')&#092;");
  11.  
  12. if (!$wynik)
  13.  return false;
  14. if (mysql_num_rows($wynik)<1)
  15.  return false;
  16.  
  17. $status = mysql_result($wynik, 0, 0);
  18. if ($status == '1')
  19.  return 'admin';
  20. else
  21.  return 'zwykly';
  22. }
  23. ?>


Jeśli usunę drugi warunek w zapytaniu to bez hasła wyszukuje mi rekord ale jaki to wtedy ma sens. A podczas wpisywania hasło było szyfrowane ta samą metodą.
Może ktoś ma jakiś pomysł o co tu chodzi?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 02:09