PHP Fehler bei Server4You

firegate666

Registered User
Kennt das noch jemand? Kann mir einer helfen?

Also ich habe seit heute einen Server bei S4Y und habe meine Website einmal komplett von Puretec darübergeschoben.
Soweit so gu, nur geht die Hälfte jetzt nicht mehr

getenv(PATH_TRANSLATED) z.B., statt dessen muss ich nun $_SERVER["PATH_TRANSLATED"]

aber das sind die kleinen Dinge, die sind lösbar. Viel schlimmer ist das Ding mit den Variablen !!!

wenn ich z.B. einen Link einbaue:

meineseite.php?id=17

und die Seite anklicke, dann existiert die Variable dort nicht!!! Sie ist einfach nicht da. habe es mit isset() ausgetestet.

Wenn ich ein Formular habe
<form method=post action=meinedatei.php>
<input type=text name=bemerkung>
<input type=submit>
</fom>

und sende die Daten, dann habe ich NIX in der Datei. Die Variablen sind einfach nicht verfügbar.

Bei Puretec lief alles und hier ist alles schrottig.

Kann mir jemand helfen?
 
okay, habe es gefunden !

Server4You verwenden eine neuer PHP Version, die dann per Default

REGISTER_GLOBALS=OFF

hat... darauf soll man mal kommen.
 
firegate666 said:
meineseite.php?id=17
und die Seite anklicke, dann existiert die Variable dort nicht!!!
Du hastest Dort wohl eine sehr alte PHP-Version... ;)
Man sollte in diesem Zusammenhang wissen, daß die Globalvars in PHP ein sehr hohes Risiko bilden, da man damit lokale Variablen überschreiben kann, von denen der Programmierer ausgeht, daß sie einen Defaultwert hätten. Dies kann wird überlicherweise vorallem ausgenutzt um mit älteren PHP-Formmailern Spam zu verschicken.

Daher meine Empfehlung:
- Globalvars = off
- Eigene Scripte entsprechend umschreiben. (ist i.d.R. nicht viel Aufwand, da es lediglich einmal am Start geschehen muß)
- Ältere Scripts die die Einstellung brauchen updaten oder neuere Artgenossen suchen.

huschi.
 
Huschi said:
Du hastest Dort wohl eine sehr alte PHP-Version... ;)
....

Nun ja, allgemein ist bei 1&1 Webhosting die register_globals auf on.
Gerade ist 4.3.6 installiert.

Lösung für Webhosting-Pakete ohne Zugriff auf php.ini:
Erstelle ein .htaccess file. Schreibe folgendes rein:
Code:
php_flag register_globals 0
Vielleicht noch das lieber dazu:
Code:
<Files ".ht*">
deny from all
</Files>
Diese .htaccess Datei dann einfach im home-Verzeichnis hochladen.

Bei euren vServern/dedicated könnt ihr es ja direkt in der php.ini bzw. beim apache ab -oder umstellen.
 
Last edited by a moderator:
Back
Top