na serwerze lua.pl pod adresem
można zobaczyć logowanie
http://drake2.lua.pl/strona13/
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'); require_once ('./includes/mysql_connect.php'); // Łączymy się z bazą danych. // Sprawdzamy poprawność adresu e-mail. $e = escape_data($_POST['email']); } else { $e = FALSE; } // Sprawdzamy poprawność hasła. $p = escape_data($_POST['pass']); } else { $p = FALSE; } 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"; $result = mysql_query ($query) or trigger_error("Zapytanie: $query\n<br />Błąd MySQL: " . mysql_error()); // Rejestrujemy wartości i przekierowujemy użytkownika. $_SESSION['first_name'] = $row[1]; $_SESSION['user_id'] = $row[0]; // Zaczynamy definicję adresu URL. // Sprawdzamy końcowy ukośnik. $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); ?>