Session Warnung

Don Stefano

Erfahrenes Mitglied
Hallo zusammen!

So ein Mist. 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:

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
PHP:
session_start();
zustande kommt oder dadurch, dass Parameter in Form von
PHP:
$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.
 
Moin
äm, also dumme Frage, aber hast du dir die Fehlermeldung mal durchgelsesen?
da steht drinne was du machen sollst / kannst...

Also entweder php updaten, was nicht gehen wird es sei denn du hast root zugriff, oder die php conf ändern, was auch nicht gehen wird. *g*

ich denke (achtung habe fast 0 Ahnung) das Sessions bzw das was du darin speicherst globale variablen sind, und du es dardurch nicht nutzen darfst.
 
Natürlich habe ich mir die Fehlermeldung durchgelesen. Aber es kann ja wohl nicht sein, dass ich mit PHP5 keine Sessions auf dem Server verwenden kann, 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:

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:

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:
 $ergebnis = $_SESSION["ergebnis"];

Und ich verwende nirgendwo session_register (). Ich verstehe leider nach wie vor nicht wie ich dieses Problem lösen kann.

Wer ist so nett und kann mir helfen?
 
Die Warnmeldung hat dir der Server deines Hosters ausgegeben...

Ich weiss ja nicht wie du deine Scripte von mysqli auf mysql geändert hast, aber schau dir alternativ mal dieses an:

import_request_variables()

Das beste wäre du schicktest mal die Scripte rüber.. Du scheinst da etwas gemischt zu haben. Von register globals musst du dich trennen und supe globale arryas nutzen, da sie automatisch registriert werden...

Falls ich da falsch liege, verbessert mich..

Greetz..
 
Der Betreiber meines Servers hat mittels htaccess irgendwie für meinen Account die register_globals auf on stellen können.

Damit haben sich diese Warnmeldungen erledigt.

Trotzdem Danke für die Hilfeversuche.
 
Zurück