Re: [PUG] PHP: session id - vllig konfus
Am Montag, 21. Juli 2003 15:06 schrieb Markus Hahn: Hi Liste, nach dem ich nun gestern den halben Tag an dem Problem weitergemachthabe und diverse Dokumentationen zu dem Thema gelesen habe bin ich nun völlig verwirrt vor lauter session_vars, cookie_params und id_args. Von den session_register(), session_kill(), kill_user(), shutdown_server_session_args_murgs_wh() funktionen ganz zu schweigen. ( ach wie schon war C) ich will folgendes: Der Client soll ein cookie bekommen: darin soll die session_id, lifetime, domain, und ein counter gespeichert sein. Diese Daten soll der Benutzer auf der ersten Seite vor dem ausfüllen eines Forms bekommen. -- form.php : in etwa so ?PHP ini_alter(session.use_cookies,1); ini_alter(session.cookie_lifetime,31536000); ini_alter(session.use_trans_sid,1); ini_alter(session.cookie_domain,www.wetterbote.de); $time = mktime()+31536000; session_start(); session_register(time,SessionID); $SessionID=session_id(); session_set_cookie_params(31536000,/tmp,$time ); session_set_cookie_params(int lifetime [, string path [, string ... nach dem ausfüllen des Forms werden die Daten Submited und mit $_POST nach danke.php übergeben, und in eine mySQL Datenbank geschrieben. Im Augenblick bekomme ich nur lifetime: 0 path: / domain: secure: bzw nur die SessionID zurück. in die Tabelle mysite_access_tbl sollte nun auch die cookie vars geschrieben werden anstatt auf /tmp zu landen. Als erstes will ich dann testen ob der Benutzer bekannt ist und innerhalb der letzten x Sekunden schon mal was hier abgesendet hat.(was wiederum einfach ist wenn ich das mit den cookies geschnallt habe) Sinnvoll fände ich auch, dass der Benutzer bei weiteren Besuch den alten Cookie überschrieben bekommt, oder ist das Standard? Grüße Markus PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] PHP: session id - völlig konfus
On Tue, 2003-07-22 at 10:19, Markus Hahn wrote: [..] ini_alter(session.use_cookies,1); ini_alter(session.cookie_lifetime,31536000); ini_alter(session.use_trans_sid,1); ini_alter(session.cookie_domain,www.wetterbote.de); [..] Ich muß noch dazu sagen, daß Du das ini_alter nicht unbedingt benötigst! Ich benutze das nur, da ich keinen Zugriff auf die ini-Datei auf dem Server habe, auf dem dieses PHP-Script liegt. Mit den session_start und session_register Sachen habe ich lange herumprobiert, und bin mir nicht im klaren warum genau diese Zeilen das tun was ich will... probieren geht über studieren... Laurence -- Laurence Tonke Penguin User Group http://www.pug.org/~laurence PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] PHP: session id - vllig konfus
( ach wie schon war C) Wegen sowas? *p;main(i,x){for(i=atoi((p=x)[1]);o(i),x=atoi(p[2])-i;x0?i++:i--);} :-) P.S.: (http://www.lysator.liu.se/c/shocc-results.html) PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] PHP: session id - vllig konfus
Am Dienstag, 22. Juli 2003 11:13 schrieb Valentin Heinitz: ( ach wie schon war C) Wegen sowas? *p;main(i,x){for(i=atoi((p=x)[1]);o(i),x=atoi(p[2])-i;x0?i++:i--);} :-) ich mags halt etwas komplizierter :-) fasl du es noch nicht kennst http://www.c-plusplus.de/geschichte.htm Gruß Markus PUG - Penguin User Group Wiesbaden - http://www.pug.org
[PUG] Re[2]: [PUG] PHP: session id - vllig konfus
Hallo Markus, Tuesday, July 22, 2003, 10:19:22 AM, you wrote: MH ich will folgendes: MH Der Client soll ein cookie bekommen: MH darin soll die session_id, lifetime, domain, und ein counter MH gespeichert sein. MH Diese Daten soll der Benutzer auf der ersten Seite vor dem ausfüllen MH eines Forms bekommen. -- form.php : MH in etwa so MH ?PHP MH ini_alter(session.use_cookies,1); MH ini_alter(session.cookie_lifetime,31536000); MH ini_alter(session.use_trans_sid,1); MH ini_alter(session.cookie_domain,www.wetterbote.de); MH $time = mktime()+31536000; MH session_start(); MH session_register(time,SessionID); MH $SessionID=session_id(); MH session_set_cookie_params(31536000,/tmp,$time ); MH session_set_cookie_params(int lifetime [, string path [, string MH ... MH nach dem ausfüllen des Forms werden die Daten MH Submited und mit $_POST nach danke.php übergeben, MH und in eine mySQL Datenbank geschrieben. MH Im Augenblick bekomme ich nur MH lifetime: 0 MH path: / MH domain: MH secure: MH bzw nur die SessionID zurück. MH in die Tabelle mysite_access_tbl sollte MH nun auch die cookie vars geschrieben werden MH anstatt auf /tmp zu landen. MH Als erstes will ich dann testen ob der Benutzer MH bekannt ist und innerhalb der letzten x Sekunden schon mal was hier abgesendet MH hat.(was wiederum einfach ist wenn ich das mit den cookies geschnallt habe) MH Sinnvoll fände ich auch, dass der Benutzer bei weiteren Besuch MH den alten Cookie überschrieben bekommt, oder ist MH das Standard? MH Grüße Markus Also um ganz ehrlich zu sein, wozu willst du die Sessionhash bitte als Cookie versenden? Mach es per trans_sid und gut ist! Dann hast du auch keine Probleme mit Clients die überhaupt keine Cookies akzeptieren, was eine ganze Menge ist! Und wie ich schon in meiner vorherigen Mail geschrieben habe, machst du dir das hier ziemlich schwer! Man kann die Werte der Session direkt in dem Array schreiben $_SESSION['key'] = value . Da muss man nix definieren oder sonst was, es spart Zeit und nerven! Vorher sollte man aber, wenn es noch nicht geschehen ist, session_start() ausführen! Ich habe in meinen PHP Programmen immer ein ob_start() als ersten Befehl, da ob_start den kompletten output dann buffert und Cookies und der gleichen immer noch oben in den Header setzt, egal wann und wo du die Cookies in deinem Code setzt! Außerdem brauchst du dich nicht um die Session-ID zu kümmern, da diese automatisch generiert und ebenso automatisch zugewiesen wird! Das heißt du hast nach deinem Dateiwechsel einfach alle Variablen verfügbar - fertig! Das heißt ich würde wenn überhaupt nur den Counter als Cookie absetzen und den Rest per Session über trans_sid ( Also als Anhang an der Datei ) verwalten. Außerdem würde ich auch nichts an der Lifetime der Session ändern, da es unsinnig ist, meiner Meinung nach, eine Session länger als 15 Minuten ohne Aktivität gültig zu halten. Das würde so aussehen, als Beispiel: ?php ob_start(); session_start(); $_SESSION['var1'] = value1; $_SESSION['var2'] = value2; [...] restlicher Code ? -- Best regards, Saschamailto:[EMAIL PROTECTED] smime.p7s Description: S/MIME Cryptographic Signature
[PUG] PHP: session id
Hi Liste, um ein Formular nur einmal pro Sizung ausfüllen zu können brauche ich eine Session Kontrolle. Die da ich auch wissen will ob der user schon einmal auf der Seite war will ich dies mit cookies realisieren. nun habe ich das Zusammenspiel noch zwischen session_id und cookie noch nicht so ganz verstanden. Zudem habe ich folgenden (test) Code in den header meiner ersten Seite (wf-wetterbote.php) eingefügt: ?PHP // Zeile 5 session_start(); echo session_id(); echo br; echo $PHPSESSID; ? Ich bekomme nun diese Fehlermeldung: Warning: Cannot send session cookie - headers already sent by (output started at /home/markus/public_html/wetterfest/wf-sites/wf-wetterbote/wf-wetterbote.php:5) in /home/markus/public_html/wetterfest/wf-sites/wf-wetterbote/wf-wetterbote.php on line 6 Warning: Cannot send session cache limiter - headers already sent (output started at /home/markus/public_html/wetterfest/wf-sites/wf-wetterbote/wf-wetterbote.php:5) in /home/markus/public_html/wetterfest/wf-sites/wf-wetterbote/wf-wetterbote.php on line 6 8f3a675dfba34700962d029dbec358c1 was will diese fehlermeldung mir sagen? gibt es da eingentlich einen unterschied zwischen session_id und cookie? oder wird die session_id im cookie gespeichert? Grüße markus PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] PHP: session id
[...] Ich bekomme nun diese Fehlermeldung: Warning: Cannot send session cookie - headers already sent by (output started at /home/markus/public_html/wetterfest/wf-sites/wf-wetterbote/wf-wetterbote.php:5) [...] was will diese fehlermeldung mir sagen? Du darfs vor dieser zeile noch keinen HTML-Code ausgegeben haben, sonst wurden schon header-Informationen mitgeschickt. Deine Session-Kommandos müssen als allererstes kommen... gibt es da eingentlich einen unterschied zwischen session_id und cookie? oder wird die session_id im cookie gespeichert? Du kannst Die session-id auch im Coolie speichern, mußt Du aber nicht: Mit Cookie: ini_alter(session.use_cookies,1); ini_alter(session.cookie_lifetime,31536000); ini_alter(session.use_trans_sid,0); session_start(); session_register(SessionID); $SessionID=session_id(); $time = mktime()+31536000; setcookie (PHPSESSID, $$SessionID, $time); Ohne Cookie: ini_alter(session.use_cookies,0); session_register(SessionID); $SessionID=session_id(); Laurence -- Laurence Tonke Software AG http://www.softwareag.com PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] PHP: session id
Hallo Markus, Monday, July 21, 2003, 3:06:00 PM, you wrote: MH Hi Liste, MH um ein Formular nur einmal pro Sizung ausfüllen MH zu können brauche ich eine Session Kontrolle. MH Die da ich auch wissen will ob der user schon einmal auf der Seite MH war will ich dies mit cookies realisieren. MH nun habe ich das Zusammenspiel noch zwischen MH session_id und cookie noch nicht so ganz verstanden. MH Zudem habe ich folgenden (test) Code in den header meiner ersten MH Seite (wf-wetterbote.php) eingefügt: MH ?PHP // Zeile 5 MH session_start(); MH echo session_id(); MH echo br; MH echo $PHPSESSID; ? MH Ich bekomme nun diese Fehlermeldung: MH Warning: Cannot send session cookie - headers already sent by (output started MH at MH /home/markus/public_html/wetterfest/wf-sites/wf-wetterbote/wf-wetterbote.php:5) MH in MH /home/markus/public_html/wetterfest/wf-sites/wf-wetterbote/wf-wetterbote.php MH on line 6 MH Warning: Cannot send session cache limiter - headers already sent (output MH started at MH /home/markus/public_html/wetterfest/wf-sites/wf-wetterbote/wf-wetterbote.php:5) MH in MH /home/markus/public_html/wetterfest/wf-sites/wf-wetterbote/wf-wetterbote.php MH on line 6 MH 8f3a675dfba34700962d029dbec358c1 MH was will diese fehlermeldung mir sagen? MH gibt es da eingentlich einen unterschied zwischen session_id und MH cookie? oder wird die session_id im cookie gespeichert? MH Grüße markus MH MH PUG - Penguin User Group Wiesbaden - http://www.pug.org du musst die Session-ID ja irgendwie transportieren, das heißt von Seite zu Seite übertragen! Dafür gibt es 2 klassische technicken, entwender per Append hinter dem Dateinamen oder aber per Cookie. Das heißt im Cookie wird dann die Session-ID gespeichert. Das ist alles! Außerdem kannst du ab 4.1 glaube ich auch den superglobalen Array $_SESSION nutzen, und dort deine Werte direkt eintragen. Es ist auch sinnvoll als erstes ob_start() einzutragen, um ein Cookie setzen zu können, nachdem bereits eine Ausgabe getätigt wurde - wie in deinen obigen Fehlercode zu ersehen ist! -- Best regards, Saschamailto:[EMAIL PROTECTED] smime.p7s Description: S/MIME Cryptographic Signature
Re: [PUG] PHP: session id
Am Montag, 21. Juli 2003 15:13 schrieb Laurence Tonke: Du kannst Die session-id auch im Coolie speichern, mußt Du aber nicht: Ah, sowas dachte ich mir schon. Mit Cookie: ini_alter(session.use_cookies,1); ini_alter(session.cookie_lifetime,31536000); cool, jetzt weiß ich auch wieviele Sekunden ein Jahr hat. ini_alter(session.use_trans_sid,0); session_start(); session_register(SessionID); $SessionID=session_id(); $time = mktime()+31536000; setcookie (PHPSESSID, $$SessionID, $time); Danke Grüße Markus PUG - Penguin User Group Wiesbaden - http://www.pug.org