Moin!
- register_globals gehört "off". Sorge dafür, dass dein Entwicklungssystem das so hat, und sorge ebenfalls dafür, dass das auf dem Liveserver so sein wird.
Ich arbeite bereits mit register_globals off, online isses allerdings on...
Das kann und sollte man ändern. Wenn es geht, nimm .htaccess:
php_flag register_globals off
Funktioniert dann, wenn PHP als Modul läuft. Ansonsten sprich deinen Provider drauf an, wenn du nicht an die php.ini drankommst, dass er es ausschalten möge.
Für dein Entwicklungssystem bedeutet das: Error-Reporting auf E_ALL stellen und alle Notices, die von uninitialisierten Variablenbenutzungen berichten, beseitigen. Andernfalls kann man deinen Skripten potentiell böses antun.
In deiner php.ini: error_reporting E_ALL
Oder in jedem Skript: error_reporting(E_ALL);
- session_unregister() sollst du nicht benutzen. Ebenso session_register(). Beides ist dir verboten. Du kriegst durch Aufruf von session_start() das Array $_SESSION wiederhergestellt, und darin kannst du alle Werte abspeichern, die nach Skriptende gesichert werden sollen. Weitere Session-Funktionen (session_*()) benötigst du in 99% aller Fälle nicht.
Ok danke, da habe ich einen Anhaltspunkt.
Wie greife ich dann auf das Sessionarray zu? Mit $_SESSION['xyz'] oder $HTTP_SESSION_VARS['xyz']?
Ich habe nur einen Variange geschrieben. Seit PHP 4.1.x sind alle $HTTP_irgendwas-Variablen überflüssig und sollten nicht mehr genutzt werden - sie werden irgendwann rausfliegen.
- Sven Rautenberg