witam mam pewniem problem ze zrobieniem logowania do strony
na serwerze lua.pl pod adresem
http://drake2.lua.pl/strona13/
można zobaczyć logowanie
proces
rejestracji działa, rejestruje się, podaje imie, nazwisko, meila, hasło
na meila dostaje link z aktywacją konta
proces
aktywacji działa. aktywuje konto i jest ok.
sprawdzam w bazie danych. w tabeli users mam przykładowe wpisy z rejestracji. czyli wszystko jest OK. Baza nie jest pusta.
a więc próbuje się zalogować. logowanie jest przez podanie meila i hasła
podaje te dane i wyskakuje mi komunikat że
podałem złe dane. że dane nie pokrywają się z podanymi w rejestracji, a więc znajdującymi się w bazie mysql
dlaczego tak jest?
co mam poprawić?
proszę o pomoc
możecie sami sprawdzić proces rejestracji pod adresem
http://drake2.lua.pl/strona13/ wpisując fikcyjne dane, ale właściwy mail, aby link aktywacyjny doszedł
poniżej prezentuje wpisy pliku login.php
<?php # Skrypt 13.8 - login.php
// Strona umożliwiająca zalogowanie się w witrynie.
// Dołączamy plik konfiguracyjny z procedurami obsługi błędów.
require_once ('./includes/config.inc.php');
// Ustawiamy tytuł strony i dołączamy nagłówek HTML.
$page_title = 'Logowanie';
include ('./includes/header.html');
if (isset($_POST['submitted'])) { // Sprawdzamy, czy formularz został przesłany.
require_once ('./includes/mysql_connect.php'); // Łączymy się z bazą danych.
// Sprawdzamy poprawność adresu e-mail.
if (!empty($_POST['email'])) { $e = escape_data($_POST['email']);
} else {
echo '<p><font color="red" size="+1">Zapomniałeś podać adres email!</font></p>'; $e = FALSE;
}
// Sprawdzamy poprawność hasła.
if (!empty($_POST['pass'])) { $p = escape_data($_POST['pass']);
} else {
$p = FALSE;
echo '<p><font color="red" size="+1">Zapomniałeś podać hasło!</font></p>'; }
if ($e && $p) { // Jeśli wszystko jest w porządku...
// Wysyłamy zapytanie do bazy danych.
$query = "SELECT user_id, first_name FROM users WHERE (email='$e' AND pass=SHA('$p')) AND active IS NULL";
// Rejestrujemy wartości i przekierowujemy użytkownika.
$_SESSION['first_name'] = $row[1];
$_SESSION['user_id'] = $row[0];
// Zaczynamy definicję adresu URL.
$url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']); // Sprawdzamy końcowy ukośnik.
if ((substr($url, -1) == '/') OR
(substr($url, -1) == '') ) { $url = substr ($url, 0, -1); // Odcinamy ukośnik.
}
// Dodajemy stronę.
$url .= '/index.php';
ob_end_clean(); // Usuwamy bufor.
header("Location: $url");
exit(); // Kończymy działanie skryptu.
} else { // Nie znaleziono pasującego rekordu.
echo '<p
><font color
="red" size
="+1">Adres e
-mail i hasło nie pasują
do przechowywanych w bazie danych albo jeszcze nie uaktywniłeś swojego konta
.</font
></p
>'; }
} else { // Jeśli coś jest nie w porządku...
echo '<p><font color="red" size="+1">Spróbuj jeszcze raz.</font></p>';
}
mysql_close(); // Zamykamy połączenie z bazą danych.
} // Koniec instrukcji warunkowej sprawdzającej, czy formularz został przesłany.
?>
<h1>Logowanie</h1>
<p>Aby się zalogować, musisz zezwolić na przyjmowanie plików cookie.</p>
<form action="login.php" method="post">
<fieldset>
<p><b>Adres e-mail:</b> <input type="text" name="email" size="20" maxlength="40" value="<?php if (isset($_POST['email'])) echo $_POST['email']; ?>" /></p>
<p><b>Hasło:</b> <input type="password" name="pass" size="20" maxlength="20" /></p>
<div align="center"><input type="submit" name="submit" value="Logowanie" /></div>
<input type="hidden" name="submitted" value="TRUE" />
</fieldset>
</form>
<?php // Dołączamy stopkę HTML.
include ('./includes/footer.html);
?>