Eine Sache mit Cookies...

Feldhofe

Erfahrenes Mitglied
Hallo!

Ich habe für mein Forum (http://www.singleteenchat.de/wbboard/main.php)eine Scriptvorlage benutzt, die mit Cookies arbeitet.
Nun baue ich meine Seite vollständig um und will das Forum so erweitern, daß der Login für die gesamte Seite gültig ist, d.h. man loggt sich auf der Startseite ein und auf allen Unterseiten kann ich auf die Logindaten zugreifen.
Alles klar soweit? Ein Beispiel für so ein "erweitertes" Forum stellt z.B. http://www.lyricszone.de/ dar.

Die Frage ist jetzt nur -wie mach ich das? Ich habe so gut wie keine Ahnung von Cookies und weiß nicht, wie ich das mit dem Forum anstellen soll.
Kann mir jemand weiterhelfen??

Gruß Feldhofe
 
schau dir dein login-script einmal an, dort findest du angaben zu dem cookie, es wird ja dort irgendwo gesetzt

dann siehst du wie es heisst, und welchen inhalt es hat.
suche nach setcookie auf php.net.
 
Original geschrieben von godwich
schau dir dein login-script einmal an, dort
dann siehst du wie es heisst, und welchen inhalt es hat.
suche nach setcookie auf php.net.

Ja das habe ich mir schon angesehen, aber nicht verstanden! Das Cookie wird als Datum gesetzt mit Verfallszeit (soweit ich das vestanden habe).
Allerdings muß man leut php.net irgendwie den Gültigkeitsbereich (das Verzeichnis, wo es gelten soll??) einstellen. Wie man das macht, verstehe ich leider nicht.
Zur Zeit liegt das Forum in einem Unterverzeichnis /forum.

Gruß Feldhofe
 
das sind nur optionale parameter, wichtig ist nur der variablenname, der inhalt und das verfallsdatum ;)

PHP:
setcookie("variable", $inhalt, time()+$anzsek);

$anzsek gibt an, wieviele sekunden ab "jetzt" das cookie gültigkeit hat. ACHTUNG: vor setcookie darf keinerlei ausgabe (z.B. mit echo) und auch kein html-befehl stehen...
 
Hmmm...der Bereich sieht so aus bei mir:

PHP:
if($action=="login") {
$kennwort = md5($kennwort);
$usercheck = checkUser($username,$kennwort);
if($usercheck==2) {
        if(!$link) $ride = urldecode($url_jump);
        else $ride = urldecode($link);

        $user_id = getUserid($username);
        $user_password = $kennwort;
        session_register("user_id");
        session_register("user_password");

        setcookie("user_id", "$user_id", time()+(3600*24*365));
        setcookie("user_password", "$user_password", time()+(3600*24*365));

        eval ("\$output = \"".gettemplate("note1")."\";");
}
if($usercheck==0) eval ("\$output = \"".gettemplate("error1")."\";");
if($usercheck==1) eval ("\$output = \"".gettemplate("error2")."\";");
}

Ich könnte doch theoretisch dann die Session bzw. den Cookie so setzen, daß ich in allen anderen Seiten auf die Variable $username zugreifen kann, oder? Aber wo steht denn da die Gültigkeit?

Feldhofe
 
es wird ja die id des users in der datenbank als session registriert- dh auf die kannst du überall zugreifen (solange du die sessionid irgendwie weitergibst- per url zB)

nun brauchst du ja nur noch aus der tabelle die zeile auslesen wo id gleich der, in der session gespeicherten id ist, und du hast den user namen.
 
Also irgendwie steige ich da gar nicht durch...was macht denn dann der Cookie hier?
Das Forum (das Script ist wie geasagt nicht von mir) übergibt auch keine Session-ID per URL...?

Feldhofe
 
Zurück