Slayer8 Geschrieben 21. November 2002 Geschrieben 21. November 2002 Hallo! Ich möchte folgendes... Eine Webseite auf der man sich einloggt und auf den folgenden Seiten der Benutzer erhalten bleibt, also die Seite weiß wer sich angemeldet hat und surft. So, mein Problem... Ich habe alles fertig programmiert und es lief auch, als ich es jedoch auf meinen Webserver (der gehostet wird) lud klappte dies nicht mehr. Ich vermute mal, da die Session auf dem Server in eine Textdatei geschrieben wird, was der Server aber nicht erlaubt. Es darf keine Datei auf dem Server geschrieben werden. Wie realisiere ich nun meine Login Funktion? Ich bekomme es einfach nicht hin. :-( Am liebsten wäre mir, wenn die SessionID in einem Clientseitigen Cookie gespeichert werden, bzw. wenn dieser keine Cookies erlaubt, in der URL übergeben wird. Doch wie bekomme ich das hin? *schnief* Zitieren
Slayer8 Geschrieben 21. November 2002 Autor Geschrieben 21. November 2002 Ach ja, meine Cookies verursachen folgende Fehler-Meldungen: Warning: Cannot add header information - headers already sent by (output started at /www/users/web181/html/ims/login.php:12) in /www/users/web181/html/ims/login.php on line 75 Warning: Cannot add header information - headers already sent by (output started at /www/users/web181/html/ims/login.php:12) in /www/users/web181/html/ims/login.php on line 76 Hier mein Code: <html> .... Formular .... // Überprüfung if ($submit) { // Verbindung mit der Datenbank wird hergestellt $db = mysql_connect("localhost","....","....."); mysql_select_db("......",$db); // Benutzer und Paßwort werden in der Datenbank überprüft $sql = "SELECT * FROM db_user WHERE User='$UserEntered'"; $result = mysql_query($sql,$db); $data = mysql_fetch_array($result); // Ist der Benutzer vorhanden, wird eine neue Seite aufgerufen if ($PassEntered==($data["Password"])){ $UserID=$data["UserID"]; setcookie("sessionlogin", "$UserID", "()+1800);"); header("Location: main.php"); } // Ist der Benutzer nicht vorhanden, wird eine Fehlermeldung ausgegeben else{ echo ("Der Benutzer existiert nicht, oder falsches Paßwort"); include("login.php"); exit; } } } ?> Wobei Zeile 75 und 76 folgende sind: setcookie("sessionlogin", "$UserID", "()+1800);"); header("Location: main.php"); Zitieren
DataStreamWarrior Geschrieben 21. November 2002 Geschrieben 21. November 2002 Hiho! Du kannst keine Header setzen, wenn du vorher schon was ausgegeben hast - und wenn ich das richtig sehe, gibst du in Z1 ein "<html>" aus! greetings, DSW Zitieren
Slayer8 Geschrieben 22. November 2002 Autor Geschrieben 22. November 2002 Erstmal danke für die Antwort! *grübel* Ich dachte mit dem Befehl verweist man an eine neue Seite, bzw. ruft diese auf. Wie löse ich mein Problem am besten? Ich glaube, ich muß noch viel lernen.... Zitieren
DataStreamWarrior Geschrieben 22. November 2002 Geschrieben 22. November 2002 http://www.php.net/manual/de/function.header.php greetings, DSW Zitieren
tauron Geschrieben 22. November 2002 Geschrieben 22. November 2002 Moin ! der header() Befehl ist schon richtig, nur darfst Du wie gesagt vorher keinerlei Ausgaben machen, schon der <html> Tag am Anfang ist zuviel. Wenn ich das richtig sehe, zeigt dein login.php das Anmelde-Formular an und schickt das ergebnis an sich selbst ? Lösen könntest Du das z.B., indem Du die Ausgabe des Login-Formulars in eine eigene Funktion packst, und am Anfang des Scriptes verzweigst (über die $submit-Variable) in entweder Formular-ausgeben oder Überprüfung. Wichtig ist halt nur, das vorher nix an den Browser geschickt wird. Hoffe das hilft Dir weiter ! gruß Christian Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.