Erneutes Problem mit Login-Script
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
benutzer
benutzername
button
check
code
datei
einloggen
eintrag
fehler
header
http
login
machen
output
paar
registrieren
url
weben
weitermachen
zeile
-
hallo allerseits,
ich habe auf meiner Seite http://rock4life.lima-city.de
auf der startseite ein Login ...wenn ich mich einloggen will oder registrieren will kommt ein fehler aber ich kann ich nicht beheben ....
Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/rock4life/html/login.php:17) in /home/webpages/lima-city/rock4life/html/login.php on line 90 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Gleiche Fehlermeldung wie gestern, also auch gleicher Fehler wie gestern.
Und gewöhn dir BITTE an, Quellcode zu posten.
Sonst kann man echt nur blind in die Gegend raten.
Poste mal den Quellcode der Seite, die dann nach dem Login aufgerufen wird.
Vermutlich steht session_start() wieder nicht ganz oben an erster Stelle. -
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <!-- +-----------------------------------------------------------------+ --> <!-- +---------------------------------------------------------+ | | | Copyright by RaveShowNetworkZ 2oo6 | | | | Design by : RAVESHOW | | Code by : RAVESHOW | | | | Contact: raveshow@web.de | | | | http://raveshow.funpic.de/ | +---------------------------------------------------------+ --> <!-- +----------------------------------------------------------------+ --> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href="login.css"> </head> <body> <center> <table> <form action="<? $PHP_SELF; ?>" method="post"> <tr> <td colspan="2" align="left"><b>Registrierung</b><hr></td> </tr> <tr> <td>Benutzername: </td> <td><input type="text" size="25" name="neuer_benutzer"></td> </tr> <tr> <td>Passwort: </td> <td><input type="password" size="25" name="neues_passwort"></td> </tr> <tr> <td>e-Mail: </td> <td><input type="text" size="25" name="neue_email"></td> </tr> <tr> <td colspan="2" align="left"><hr></td> </tr> <tr> <td><a href="javascript:history.go(-1);">Zurück</a></td><td colspan="2" align="right"><input type="submit" value="Registrieren" name="reg"></td> </tr> <tr> <td align="center" colspan="2"> <? // Ein paar Variabeln bestimmen... $var_user = $_POST["neuer_benutzer"]; $var_pass = $_POST["neues_passwort"]; $var_mail = $_POST["neue_email"]; $datei = "benutzer/".$var_user.".lif"; $vorhanden = file_exists($datei); // Wenn die Datei vorhanden ist soll er nicht weitermachen und einen Fehler ausgeben... andernfalls // macht er mit der Prozedur weiter... if(!$vorhanden) { // Wenn der Registrieren Button gedrückt wurde macht er weiter... if(isset($_POST["reg"])) { // Einmal kurz prüfen ob die wichtigen Felder auch nicht leer waren... if(!empty($var_user) && !empty($var_pass)) { // Neue Datei schreiben mit Benutzerinformationen... $eintrag = $var_user."§§".md5($var_pass)."§§".$var_mail; $f = fopen($datei, "w"); fwrite($f, $eintrag); fclose($f); echo "Benutzer wurde hinzugefügt!"; header ("Refresh: 2, url=login.php"); } else { echo "Benutzer konnte nicht hinzugefügt werden!"; } } } else { echo "Benutzer ist bereits vorhanden!"; } ?> </td> </tr> </form> </table> </center> </body> </html>
Hier gibt es aber kein session start
Beitrag zuletzt geändert: 18.2.2009 11:13:56 von rock4life -
in welcher Zeile soll es denn sonst stehen ?
-
unter dieser Zeile sokkte es noch gehn:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
aber mach die weiterleitung besser mit javascript oder lass einfach einen Link anzeigen -
ich bekomms einfach nicht hin ....
kann mir mal jemand den korekten quelltext machen ?? -
Du musst den PHP Quelltext vor den HTML Quelltext schreiben. Danach musst du die header - Funktion ein paar Zeilen nach oben verschieben. Die Ausgaben kannst du in die Variable $output schreiben und danach im HTML Teil ausgeben:
<? // Ein paar Variabeln bestimmen... $var_user = $_POST["neuer_benutzer"]; $var_pass = $_POST["neues_passwort"]; $var_mail = $_POST["neue_email"]; $datei = "benutzer/".$var_user.".lif"; $vorhanden = file_exists($datei); // Wenn die Datei vorhanden ist soll er nicht weitermachen und einen Fehler ausgeben... andernfalls // macht er mit der Prozedur weiter... if(!$vorhanden) { // Wenn der Registrieren Button gedrückt wurde macht er weiter... if(isset($_POST["reg"])) { // Einmal kurz prüfen ob die wichtigen Felder auch nicht leer waren... if(!empty($var_user) && !empty($var_pass)) { header ("Refresh: 2, url=login.php"); // Neue Datei schreiben mit Benutzerinformationen... $eintrag = $var_user."§§".md5($var_pass)."§§".$var_mail; $f = fopen($datei, "w"); fwrite($f, $eintrag); fclose($f); $output = "Benutzer wurde hinzugefügt!"; } else { $output = "Benutzer konnte nicht hinzugefügt werden!"; } } } else { $output = "Benutzer ist bereits vorhanden!"; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <!-- +-----------------------------------------------------------------+ --> <!-- +---------------------------------------------------------+ | | | Copyright by RaveShowNetworkZ 2oo6 | | | | Design by : RAVESHOW | | Code by : RAVESHOW | | | | Contact: raveshow@web.de | | | | http://raveshow.funpic.de/ | +---------------------------------------------------------+ --> <!-- +----------------------------------------------------------------+ --> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href="login.css"> </head> <body> <center> <table> <form action="<? $PHP_SELF; ?>" method="post"> <tr> <td colspan="2" align="left"><b>Registrierung</b><hr></td> </tr> <tr> <td>Benutzername: </td> <td><input type="text" size="25" name="neuer_benutzer"></td> </tr> <tr> <td>Passwort: </td> <td><input type="password" size="25" name="neues_passwort"></td> </tr> <tr> <td>e-Mail: </td> <td><input type="text" size="25" name="neue_email"></td> </tr> <tr> <td colspan="2" align="left"><hr></td> </tr> <tr> <td><a href="javascript:history.go(-1);">Zurück</a></td><td colspan="2" align="right"><input type="submit" value="Registrieren" name="reg"></td> </tr> <tr> <td align="center" colspan="2"> <?php echo $output; ?> </td> </tr> </form> </table> </center> </body> </html>
-
Vielen Dank das klappt...aber ich bekomme es mit meiner login.php nicht hin........
kannst du mir das bitte nochmal so machen wie jetzte...wäre super toll !!
<? session_start(); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <!-- +-----------------------------------------------------------------+ --> <!-- +---------------------------------------------------------+ | | | Copyright by RaveShowNetworkZ 2oo6 | | | | Design by : RAVESHOW | | Code by : RAVESHOW | | | | Contact: raveshow@web.de | | | | http://raveshow.funpic.de/ | +---------------------------------------------------------+ --> <!-- +----------------------------------------------------------------+ --> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href="login.css"> </head> <body> <center> <table> <form action="<? $PHP_SELF; ?>" method="post"> <tr> <td colspan="2" align="left"><b>Login</b><hr></td> </tr> <tr> <td>Benutzername: </td> <td><input type="text" size="25" name="benutzername"></td> </tr> <tr> <td>Passwort: </td> <td><input type="password" size="25" name="passwort"></td> </tr> <tr> <td colspan="2" align="left"><hr></td> </tr> <tr> <td colspan="2" align="right"><input type="submit" value="Einloggen" name="login"></td> </tr> <tr> <td colspan="2" align="center"> <? // Falls ein fehler beim einloggen passiert kommt man hier hin... if(isset($_GET["error"])) { echo "Login fehlgeschlagen!"; } // Wenn man den Einloggen Button gedrückt hat wird dieser PHP teil ausgeführt... if(isset($_POST["login"])) { // Ein paar Variabeln... $var_usr = $_POST["benutzername"]; $var_pwd = $_POST["passwort"]; $var_f = "benutzer/".$var_usr.".lif"; // Wenn die Datei existiert soll er weitermachen... if(file_exists($var_f)) { // Jetzt wird die Datei in ein Array eingelesen... $check = array(); $datei = fopen($var_f, "r"); $lesen = fgets($datei, 1024); array_push($check, $lesen); fclose($datei); $lif = explode("§§", $check[0]); // Checken ob die im Formular eingegebenen Daten mit denen aus der Datei übereinstimmen... if($var_usr == $lif[0] && md5($var_pwd) == $lif[1]) { // Wenn alles richtig war bis jetzt werden die Daten aus der Datein in SessionVariabeln übergeben... $_SESSION["lif_benutzer"] = $lif[0]; $_SESSION["lif_passwort"] = $lif[1]; $_SESSION["lif_email"] = $lif[2]; // Nun wird man zur geschützten Seite verfrachtet... header("Location:d_1.html"); // Wenn die Daten nicht stimmen wird man zur Startseite zurückverfrachtet... } else { header("Location:dd.html"); } } else { // Wird ausgegeben wenn die .lif Datei des Benutzers nicht existiert... echo "Den Benutzer: <b>$var_usr</b> gibt es nicht!"; } } ?> </td> </tr> <tr> <td colspan="2" align="left"><a href="createnew.php">Registrieren?</a></td> </tr> </form> </table> </center> </body> </html>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage