09-03-2012, 02:14
Witam, poprostu przedstawie kod i podpowiedzcie mi co jest nie tak ze nie mozna sie zalogowac:
pierwszy plik z formularzem logowania:
Drugi plik:
A funkcja loguj() ma postac:
Dodam jeszcze ze przegladarka wyswietla: "Zalogowanie niemożliwe. Należy być zalogowanym aby oglądać tę stronę."
Prosze o pomoc
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