PHP wirde auch immer komplizierter

neupegeln
Primus-Entdecker
Beiträge: 138

Samstag 6. Dezember 2014, 17:32  

...da schreib ich doch ein so-was-von-simples Skript, was mit der Systemvariable $PHP_SELF arbeitet. Es will einfach nicht funktionieren! Selbst anzeigen (echo $PHP_SELF) will das Schweinesystem sie mir nicht! Nach gefühlten 1000 Versuchen, wo der Fehler liegen könnte, dann endlich mal Ecosia.org (statt Google nehm ich die Suchmaschine, die Bäume pflanzt) angeworfen, gesucht und fündig geworden:
Alles klar, genau wie die Variablen, die über get und post kommen, muss $PHP_SELF erstmal mit $PHP_SELF = $_SERVER['PHP_SELF']; zur nutzbaren Variable gemacht werden. Scheint relativ neu zu sein, bisher hatte ich das noch nie.
Ich muss mich dann mal durch meine Seiten surfen, ob da noch alles funzt.
Und das auf'n Samstagabend :-(

gruß neupegeln
schon bei PrimeraParadies? Du wirst es lieben... ;-)
EntscheiderClub - Umfrageportal, YouGov - noch'n Umfrageportal

neupegeln
Primus-Entdecker
Beiträge: 138

Samstag 6. Dezember 2014, 19:21  

meine Kenntnisse beschränken sich im Wesentlichen auf den Inhalt von "easy PHP4" vom M+T Verlag. Da war $PHP_SELF noch eine "vordefinierte Variable(...), die in jedem PHP-Script immer zur Verfügung steht."
Alles Weitere lerne ich aus Foren, wenn ich's benötige ;-)

gruß neupegeln
schon bei PrimeraParadies? Du wirst es lieben... ;-)
EntscheiderClub - Umfrageportal, YouGov - noch'n Umfrageportal

HighClixx
Primus-Entdecker
Beiträge: 110

Samstag 6. Dezember 2014, 22:07  

Das hängt mit Register Globals zusammen.
Das ist standardmäßig ab PHP 4.2 aus gutem Grund deaktiviert und der Zugriff erfolgt über superglobale Variablen.
In diesem Fall also über: $_SERVER

Code: Alles auswählen

$_SERVER['PHP_SELF'];
.
Erschwert das Injezieren von verschmutzten Variablen.

Meiner Meinung nach wird PHP immer schöner (und sicherer selbstverständlich). :)
Schlag mich berufsmäßig gerade auch mit einem Legacy System auf PHP 4 Basis herum - das ist schon gruselig teilweise.

  •   Information
  • Wer ist online?

    Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste