Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z opcją logowania
Forum PHP.pl > Forum > Przedszkole
soft
Witam, poprostu przedstawie kod i podpowiedzcie mi co jest nie tak ze nie mozna sie zalogowac:
pierwszy plik z formularzem logowania:
  1. <form method="post" action="czlonek.php">
  2. <table bgcolor="#cccccc">
  3. <tr>
  4. <td colspan="2">Logowanie członków:</td>
  5. <tr>
  6. <td>Nazwa użytkownika:</td>
  7. <td><input type="text" name="nazwa_uz"/></td></tr>
  8. <tr>
  9. <td>Hasło:</td>
  10. <td><input type="password" name="haslo"/></td></tr>
  11. <tr>
  12. <td colspan="2" align=center>
  13. <input type="submit" value="Logowanie"/></td></tr>
  14. <tr>
  15. <td colspan="2"><a href="zapomnij_formularz.php">Zapomniane hasło?</a></td>
  16. </tr>
  17. </table></form>


Drugi plik:
  1.  
  2. // dołączenie plików funkcji tej aplikacji
  3. require_once('funkcje_zakladki.php');
  4.  
  5. // utworzenie krótkich nazw zmiennych
  6. $nazwa_uz = $_POST['nazwa_uz'];
  7. $haslo = $_POST['haslo'];
  8.  
  9. if ($nazwa_uz && $haslo) {
  10. // właśnie nastąpiła próba logowania
  11. try {
  12. loguj($nazwa_uz, $haslo);
  13. // jeżeli użytkownik znajduje się w bazie danych rejestracja identyfikatora
  14. $_SESSION['prawid_uzyt'] = $nazwa_uz;
  15. }
  16. catch (Exception $e) {
  17. // niepomyślne logowanie
  18. tworz_naglowek_html('Problem:');
  19. echo 'Zalogowanie niemożliwe.
  20. Należy być zalogowanym aby oglądać tę stronę.';
  21. tworz_HTML_URL('logowanie.php', 'Logowanie');
  22. tworz_stopke_html();
  23. }
  24. }


A funkcja loguj() ma postac:
  1. function loguj($nazwa_uz, $haslo) {
  2. // sprawdzenie nazwy użytkownika i hasła w bazie danych
  3. // jeżeli się zgadza, zwraca true
  4. // jeżeli nie, wyrzuca wyjątek
  5.  
  6. // połączenie z bazą danych
  7. $lacz = lacz_bd();
  8.  
  9. // sprawdzenie unikatowości nazwy użytkownika
  10. $wynik = $lacz->query("select * from uzytkownik
  11. where nazwa_uz='".$nazwa_uz."'
  12. and haslo = sha1('".$haslo."')");
  13. if (!$wynik) {
  14. throw new Exception('Logowanie nie powiodło się.');
  15. }
  16.  
  17. if ($wynik->num_rows>0) {
  18. return true;
  19. } else {
  20. throw new Exception('Logowanie nie powiodło się.');
  21. }
  22. }
gothye
co jest w lacz_bd ?
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.