Witam wszystkich
Chciałbym prosić Was o pomoc dotyczącą skryptu logowania na mojej stronie, którą właśnie tworzę.
No więc problem wygląda następująco:
Kiedy testuję ów skrypt (narazie tylko na localhoscie) i podaję login i hasło, którego nie ma w bazie danych wszystko jest ok, podobnie jak podaję login i błędne hasło itp. Probley zaczynają się kiedy chce się zalogować jako użytkownik, który zarejestrował się wcześniej. Wywala mi wtedy takie oto błędy:
Kod
<b><b>Warning</b>: Cannot modify header information - headers already sent by (output started at D:\Programy\WebServ\httpd\Stronka\logowanie.php:10) in <b>D:\Programy\WebServ\httpd\Stronka\logowanie.php</b> on line <b>57</b>
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at D:\Programy\WebServ\httpd\Stronka\logowanie.php:10) in <b>D:\Programy\WebServ\httpd\Stronka\logowanie.php</b> on line <b>58</b>
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at D:\Programy\WebServ\httpd\Stronka\logowanie.php:10) in <b>D:\Programy\WebServ\httpd\Stronka\logowanie.php</b> on line <b>60
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at D:\Programy\WebServ\httpd\Stronka\logowanie.php:10) in <b>D:\Programy\WebServ\httpd\Stronka\logowanie.php</b> on line <b>58</b>
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at D:\Programy\WebServ\httpd\Stronka\logowanie.php:10) in <b>D:\Programy\WebServ\httpd\Stronka\logowanie.php</b> on line <b>60
Domyślam się, że chodzi o to, że do przeglądarki nie można wysłać żadnych danych przed wysłaniem cookies (chociaż mogę się mylić). No więc chciałbym zapytać jak naprawić ten bład nie zmieniając przy tym układu strony?
Poniżej jeszcze tylko kod strony:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> <META NAME="generator" CONTENT="HTML Tidy for Windows (vers 14 sierpien 2002), see www.w3.org"> <META HTTP-EQUIV="Content Type" CONTENT="text/html;charset=iso-8859-2"> <TITLE> Logowanie użytkownika </TITLE> <LINK REL="stylesheet" HREF="Style.css" TYPE="text/css"> </HEAD link="blue" vlink= "#000033"> <BODY> <TABLE> <TR> <TD> <?php include('./menu.inc'); ?> </TD> <TD><b> <?php function escape_data ($data) { //Polaczenie z baza(chyba:D) } }//Koniec funkcji escape_data //zmienna message, przechowujaca komunikaty o bledach $message= NULL; $login= FALSE; $message .= '<p><font color="#FF0000">Musisz podać swój login!!!</font></p>'; } else { $login= escape_data($_POST['login']); } $haslo= FALSE; $message .= '<p><font color="#FF0000">Musisz podać hasło!!!</font></p>'; } else { $haslo= escape_data($_POST['haslo']); } if ($login && $haslo) { //Sprawdzanie poprawnosci wpreowadzonych danych $query= "SELECT user_id, imie FROM userzy WHERE login='$login' AND haslo= PASSWORD('$haslo')"; if ($row) {// Z bazy wyciagniety zostal wlasciwy rekord //To ustawiam ciasteczka i przekierowuje usera } else { $message .= '<p><font color="#FF0000">Twój login i hasło nie zgadzają się z danymi wprowadzonymi podczas rejestracji.</font></p>'; } } else { $message .= '<p><font color="#FF0000">Spróbuj ponownie</font></p>'; } }//Koniec Submita } ?></b> <legend><H2>Wprowadź swoje dane do logowania:</H2></legend> <p><font color= "black">Nazwa uzytkownika:</font> <input type= "text" name="login" size="15" maxlength= "10"></p> <p><font color="black">Hasło:</font><input type= "password" name= "haslo" size= "25" maxlength= "20"></p> <div align= "left"><input type= "submit" name= "submit" value= "Zaloguj!"></div> </td> </tr></table> </body> </html>
Z góry dziękuję za pomoc :-)
Aha dodam jeszcze tylko, że w pisaniu tego skryptu wzorowałem się na książce Larry'ego Ullmana pt. "Dynamiczne strony WWW PHP i MySQL"