Einzelnen Beitrag anzeigen
  #1  
Alt 20.07.2005, 18:07:11
Don Stefano Don Stefano ist offline
Anfänger
 
Registriert seit: Feb 2005
Beiträge: 40
Session Warnung

Hallo zusammen!

Als ich gerade dachte, meine Skripte laufen endlich auf meinem gemieteten Webspeicherplatz sehe ich mich mit einem neuen Problem konfrontiert.

Ich verwende Sessions um Daten zu transportieren und angemeldete User zu überprüfen.

Nun gibt mir ein Skript (und ich weiß nicht mal genau welches) die folgende Warung aus:

Zitat:
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown online 0
Ich habe schon recherchiert, dass dies wohl an der Einstellung register_globals = off bei meinem Webserver liegt. Auf diese Einstellung habe ich keinerlei Einfluss.

Ich weiß nicht einmal ob diese Warnung durch den wiederholten Befehl
Zitat:
session_start();
zustande kommt oder dadurch, dass Parameter in Form von
PHP-Code:
 $ergebnis $_SESSION["ergebnis"]; 
übergeben werden.

Was kann ich denn nur tun, damit dieser Fehler verschwindet? Er taucht übrigens auch nur bei manchen Skripten auf und nicht bei allen. Außerdem scheint es eigentlich zu funktionieren. Ich bin mal wieder ratlos.

Es kann ja wohl nicht sein, dass ich mit PHP5 und Mysql 4.1 keine Sessions auf dem Server verwenden kann, nur weil register_globals auf off steht, oder ?

Zumal es ja mit einigen Seiten auch klappt, und eben mit einigen diese Meldung ausgegeben wird.

Ich habe mir natürlich auch schon unter php.net zu Seesions einiges durchgelesen und zwar zu Session Funktionen und session_register.
Dort steht zum Beispiel:

Zitat:
Anmerkung: Bitte beachten Sie beim Arbeiten mit Sessions, dass der Datensatz einer Session nicht angelegt wird, bevor eine Variable mit der Funktion session_register() registriert oder dem superglobalen Array $_SESSION ein neuer Schlüssel hinzugefügt wird. Das gilt auch dann, wenn eine Session mit der Funktion session_start() gestartet wurde.
oder unter session_register:

Zitat:
Wenn Sie wollen, dass ihr Script unabhängig von der Einstellung von register_globals funktioniert, müssen Sie stattdessen das Array $_SESSION verwenden, weil $_SESSION-Einträge automatisch registriert werden. Wenn Sie in Ihrem Script session_register() verwenden, funktioniert es nicht in Umgebungen, in denen die PHP-Anweisung register_globals deaktiviert ist.
Ich verwende aber doch $_Session in Form von z.B.

PHP-Code:
 $ergebnis $_SESSION["ergebnis"]; 
Und ich verwende nirgendwo session_register (). Ich verstehe leider nach wie vor nicht wie ich dieses Problem lösen kann. Ich bin auch leider kein Profi.

Wer ist so nett und kann mir helfen?
Mit Zitat antworten