Skrypt logowanie:
<?php /* Skrypt 0. 1 login.php Strona umożliwia zalogowanie się w witrynie */ // Dołączamy plik konfiguracyjny z procedurami obsługi błędów. require_once ('config.inc.php'); // Ustawiamy tytuł strony i dołączamy nagłówek HTML. $page_title = 'Logowanie'; include ('header.html'); require_once ('mysql_connect.php'); // Łączymy się z bazą danych. // Sprawdzamy poprawność adresu email. $ln = escape_data($_POST['login']); } else { $ln = FALSE; } // Sprawdzamy poprawność hasła. $p = escape_data($_POST['pass']); } else { $p = FALSE; } if ($ln && $p) { // Jeśli wszystko w porządku... // Wysyłamy zapytanie do bazy danych. $query = "SELECT id_user, login_user FROM users WHERE (login_user='$ln' AND pass_user=SHA('$p')) AND active_user 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['login_user'] = $row[1]; $_SESSION['id_user'] = $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><FON COLOR="red" SIZE="+1">Login i hasło nie pasują do przechowanych 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="login" SIZE="20" MAXLENGHT="40" VALUE="<?php if (isset($_POST['login'])) echo $_POST['login']; ?>" /></P> <P><B>Hasło:</B> <INPUT TYPE="password" NAME="pass" SIZE="20" MAXLENGHt="20" /></p> <DIV ALIGN="center"><INPUT TYPE="submit" NAME="submit" VALUE="Logowanie" /></DIV> <INPUT TYPE="hidden" NAME="submitted" VALUE="TRUE" /> </FIELDSET> </FORM> <?php // Dołaczamy stopkę HTML. include ('footer.html); ?>
Po zalogowaniu się, powinien być napis powitalny "Witaj, nazwa_loginu" i inne menu.
Ze względu na sporą ilość kodu, która może się przydać pozostałe skrypty daje w linkach.
index.php
footer.php
header.php
Poza tym jeśli przechodze, pomiędzy linkami, czasami generuje mi się taki błąd
Cytat
Fatal error: print_r() [<a href='ref.outcontrol'>ref.outcontrol</a>]: Cannot use output buffering in output buffering display handlers in /var/www/sites/yoyo.pl/c/l/testowniak/config.inc.php on line 23
A plik config.inc.php wygląda tak kliknij zobacz... Powinien on podczas pojawienia się błędu wysyłać wiadomość na skyrznke pocztową... niestety jedynie wyrzuca błędy na ekran.
Za wszelką pomoc z góry dzięki.
Pozdrawiam.