Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Problem z kodem obsługującym logowanie - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Problem z kodem obsługującym logowanie (/thread-problem-z-kodem-obslugujacym-logowanie)



Problem z kodem obsługującym logowanie - 24soft - 09-03-2012

Witam, poprostu przedstawie kod i podpowiedzcie mi co jest nie tak ze nie mozna sie zalogowac:
pierwszy plik z formularzem logowania:
Kod PHP:
<form method="post" action="czlonek.php">
    <
table bgcolor="#cccccc">
    <
tr>
    <
td colspan="2">Logowanie członków:</td>
    <
tr>
    <
td>Nazwa użytkownika:</td>
    <
td><input type="text" name="nazwa_uz"/></td></tr>
    <
tr>
    <
td>Hasło:</td>
    <
td><input type="password" name="haslo"/></td></tr>
    <
tr>
    <
td colspan="2" align=center>
    <
input type="submit" value="Logowanie"/></td></tr>
    <
tr>
    <
td colspan="2"><a href="zapomnij_formularz.php">Zapomniane hasło?</a></td>
    </
tr>
    </
table></form

Drugi plik:
Kod PHP:
session_start();
     
    
// dołączenie plików funkcji tej aplikacji
    
require_once('funkcje_zakladki.php');
     
    
// utworzenie krótkich nazw zmiennych
    
$nazwa_uz $_POST['nazwa_uz'];
    
$haslo $_POST['haslo'];
     
    if (
$nazwa_uz && $haslo) {
    
// właśnie nastąpiła próba logowania
    
try {
    
loguj($nazwa_uz$haslo);
    
// jeżeli użytkownik znajduje się w bazie danych rejestracja identyfikatora
    
$_SESSION['prawid_uzyt'] = $nazwa_uz;
    }
    catch (
Exception $e) {
    
// niepomyślne logowanie
    
tworz_naglowek_html('Problem:');
    echo 
'Zalogowanie niemożliwe.
    Należy być zalogowanym aby oglądać tę stronę.'
;
    
tworz_HTML_URL('logowanie.php''Logowanie');
    
tworz_stopke_html();
    exit;
    }
    } 

A funkcja loguj() ma postac:
Kod PHP:
function loguj($nazwa_uz$haslo) {
    
// sprawdzenie nazwy użytkownika i hasła w bazie danych
    // jeżeli się zgadza, zwraca true
    // jeżeli nie, wyrzuca wyjątek
     
    // połączenie z bazą danych
    
$lacz lacz_bd();
     
    
// sprawdzenie unikatowości nazwy użytkownika
    
$wynik $lacz->query("select * from uzytkownik
    where nazwa_uz='"
.$nazwa_uz."'
    and haslo = sha1('"
.$haslo."')");
    if (!
$wynik) {
    throw new 
Exception('Logowanie nie powiodło się.');
    }
     
    if (
$wynik->num_rows>0) {
    return 
true;
    } else {
    throw new 
Exception('Logowanie nie powiodło się.');
    }
    } 

Dodam jeszcze ze przegladarka wyswietla: "Zalogowanie niemożliwe. Należy być zalogowanym aby oglądać tę stronę."
Prosze o pomoc


RE: Problem z kodem obsługującym logowanie - Marys - 09-03-2012

A weź kod funkcji przekopiuj w miejsce wywołania funkcji. Sam to pisałeś?


RE: Problem z kodem obsługującym logowanie - 24soft - 09-03-2012

No fakt, podmienilem wywolanie na caly kod funkcji i zadzialaloBig Grin wielkie dziekiSmile