SwordMaster Geschrieben 19. November 2003 Teilen Geschrieben 19. November 2003 hi leute ich hab eine frame seite in der 2 frames (php dateien) geladen werden... die linke frame-php seite verwendet cookies um zu speichern welcher benutzer gerade angemeldet ist. gleichzeitig müßte das linke frame aber auch ncoh die scrollposition speichern (damit im falle einer aktualisierung, wieder zu der letzten Scrollposition gescrollt werden kann) wen nich jetzt in einer javascript funktion schreibe "document.cookie=3" alert(document.cookie); dann krieg ich automatisch folgende ausgabe 0; PHPSESSID=a69c43fb646e2ad0ba65e62c8d454401 das problem ist, dass php beim aktuelisieren der seite manchmal nicht mehr checkt dass noch ein anderer wert in dem cookie gespeichert ist, und plötzlich benutzt er eine andere SessionID und ich krieg eine fehlermeldung von meinem script dass kein benutzer angemeldet ist... hattet ihr das problem schon einmal? dass ihr trotz der Session ID noch einen anderen wert als Cookie speichern wolltet? hat das bei euch auch probleme gegeben?? das witzig ist, unter Apache(Windows) udn php läuft das system einwandfrei aber arbeite ich im praktikum (Apache unter Linux) flieg ich aus dem system sobald ich noch was zustätzliches in das Cookie schreib habt ihr ne lösung? MFG SwordMaster Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 19. November 2003 Teilen Geschrieben 19. November 2003 wieso speicherst du die cookies von hand ab? es gibt doch extra eine cookie_based_session. musst du in der php ini einstellens Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SwordMaster Geschrieben 19. November 2003 Autor Teilen Geschrieben 19. November 2003 welche einstellung muß ich da genau machen (in windows hab ich folgende einstellungen.... (da funktioniert es) aber im linux sind es andere einstellungen.... aber wenn du mir sagen könntest welche einstellung von denen das ist, wüßt ich im linux was ich ändern muß... [session] ; Handler used to store/retrieve data. session.save_handler = files ; Argument passed to save_handler. In the case of files, this is the path ; where data files are stored. session.save_path = C:\PHP\sessiondata ; argument passed to save_handler ; Whether to use cookies. session.use_cookies = 1 ; Name of the session (used as cookie name). session.name = PHPSESSID ; Initialize session on request startup. session.auto_start = 0 ; Lifetime in seconds of cookie or, if 0, until browser is restarted. session.cookie_lifetime = 0 ; The path for which the cookie is valid. session.cookie_path = / ; The domain for which the cookie is valid. session.cookie_domain = ; Handler used to serialize data. php is the standard serializer of PHP. session.serialize_handler = php ; Percentual probability that the 'garbage collection' process is started ; on every session initialization. session.gc_probability = 1 ; After this number of seconds, stored data will be seen as 'garbage' and ; cleaned up by the garbage collection process. session.gc_maxlifetime = 1440 ; Check HTTP Referer to invalidate externally stored URLs containing ids. session.referer_check = ; How many bytes to read from the file. session.entropy_length = 0 ; Specified here to create the session id. session.entropy_file = ;session.entropy_length = 16 ;session.entropy_file = /dev/urandom ; Set to {nocache,private,public} to determine HTTP caching aspects. session.cache_limiter = nocache ; Document expires after n minutes. session.cache_expire = 180 ; use transient sid support if enabled by compiling with --enable-trans-sid. session.use_trans_sid = 1 Thx für deine hilfe SwordMaster Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 19. November 2003 Teilen Geschrieben 19. November 2003 ; Whether to use cookies. session.use_cookies = 1 das ist ja bei dir schon aktiviert! also musst du händisch keine cookies mehr setzen!! beim session_start() holt der sich automatisch die session id vom client und du kannst dann deine daten alle in die session reinschreiben anstatt in cookies //z.B. $_SESSION["name"] = "testname"; [/PHP] btw: für was braucht du im Javascript deine PHP-Session id? falls du sie halt doch brauchst kannst du sie auch auf jede seite folgendermaßen legen: [PHP] echo "<input type='hidden' name='". session_name() ."' value='". session_id() ."'>" so kannst du dann auch sicher gehen falls der client keine cookies akzeptiert, dass du dann die session id am start dann mit einer post variable herausholst und händisch an die funktion übergibst! $session_id = $_POST[session_name()]; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SwordMaster Geschrieben 19. November 2003 Autor Teilen Geschrieben 19. November 2003 da hast du mich leider falsch verstanden. mein javascript braucht die Session ID nicht... aber: die Seite die ich erzeuge enthält JavaScript funktionen... und eine dieser funktionen muß etwas in ein Cookie schreiben => in javascript document.cookie="irgend ein text" aber anscheinend ist die SessionID auch schon in DIESEM cookie gespeichert den nwenn ich in meine javascript funktion schreibe: document.cookie="irgend ein text" alert(document.cookie); müßte ich "irgend ein text" als ausgabe bekommen: aber ich bekomm "irgend ein text; PHPSESSID=0a670a469ce1953eb08e7d0d74fa549d" als ausgabe.... und wenn ich dann die seite "Aktualisiere" verwendet die seite plötzlich eine ganz andere Session ( und weiß somit plötzlich nicht mehr wer eingeloggt ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 19. November 2003 Teilen Geschrieben 19. November 2003 warum möchtest du texte in ein cookie speichern?! das macht deine seite sehr benutzer abhängig (was sicherheitseinstellungen angeht!). schreib doch liebe deine text mit javascript in ein <input type='hidden'> und schreib den value dann beim absenden der seite in deine session mit rein! Gruß kills Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.