Variablen und Session ab PHP 4.4

itseit

Erfahrenes Mitglied
Hi,
ab der Version 4.4 von PHP, sind mir ein paar verädnerungen aufgeaffeln. So funktioniren Einstellungen von 4.2 nicht mehr. Und auch sieht man vor Variablen ein Global (<-- kann ich dann nur noch mit Globalen Varibalen Formulare abfragen, auch ab PHP 5). Und was ist mit den Sessions?

Weis jemand wo man eine gute erkläörung in den beiden Bereichen findet was sich geänert hat oder was man in der php.ini umstellen muss?

Da ich das mit den Variabelen zwar hinbekommen habe in dem ich register_globals On On auf On gestellt habe, aber dadruch laut der ini soll man das nicht amchen für die Session.

Wäre dankbar für eure Hilfe da ich nicht immer alles gleich online testen möchte und dazu auch nicht immer die Möglichkeit habe.
 
tobi-city hat gesagt.:
Da ich das mit den Variabelen zwar hinbekommen habe in dem ich register_globals On On auf On gestellt habe, aber dadruch laut der ini soll man das nicht amchen für die Session.
Bei dem Satz haben wir uns ein wenig verschluckt was? Erst kauen, dann sprechen. ;)

Und Du solltest lieber register_globals auf off lassen und Deine Scripts anpassen.
Denn so wie Du's jetzt hast wirst Du wohl irgendwann mal in das allseits beliebte Fettnaepfchen treten. Und zwar dann wenn Du entweder Deinen Hoster wechselst oder Dein jetziger ploetzlich merkt, dass register_globals=off eine tolle Sache ist.
 
Aber ohne register_globals on funktioniert die Abfrage der Variablen aus Formularen nicht mehr. Kann mir da jemand weiterhelfen?
 
tobi-city hat gesagt.:
Aber ohne register_globals on funktioniert die Abfrage der Variablen aus Formularen nicht mehr. Kann mir da jemand weiterhelfen?
Genau darum sollst Du ja lernen die Scripts so zu programmieren, dass sie auch funktionieren wenn register_globals off ist.
Du musst Dich also umgewoehnen sodass Du Variablen nicht direkt ansprichst sondern, je nachdem woher sie kommen, sie aus den Arrays $_POST, $_GET, $_SESSION oder $_COOKIE zu holen. Es gibt noch ein paar mehr superglobale Variablen, jedoch sind diese 4 die wohl am haeufigsten gebrauchten.
Wenn Du also ein Formular per POST uebergibst und dieses Formular ein Feld namens "text" enthaelt sprichst Du nicht direkt $text an, sondern $_POST['text'].
Dadurch ist sichergestellt, dass das Script seine Daten erhaelt, egal ob register_globals on oder off ist. Weiterhin kannst Du Dir somit auch sicher sein woher die Variable kommt, denn mit register_globals on koennte $text auch genauso gut per URL, also GET, uebergeben worden sein. Dies sorgt fuer ein kleines Mass an zusaetzlicher Sicherheit.
 
Zurück