Dein Server ist so eingestellt, dass er dir jede kleinste Warnung ausgibt
functions.lib.php, vor "?>" das einfügen:
PHP-Code:
error_reporting(E_ALL & ~E_NOTICE);
Oder alternativ das komplette Script durcharbeiten, und alle Variablen vor deklarieren:
In deiner Fehlermeldung geht es um den Index in einem Array, also dann sowas wie:PHP-Code:
if(!isset($foo))$foo = 0; //je nach wert, also obs nachher eine zahl sein soll, ein String, ein object, am besten gleich den richtig standardwert wählen
Man könnte natürlich auch abfragen, ob $foo existiert, ob es überhaupt ein Array ist etc.PHP-Code:
if(!isset($foo['bar']))$foo['bar'] = '';
Selbst wenn PHP da Scriptsprache auch vollkommen ohne auskommt, hilft sowas a) dass man schon am Scriptanfang verwendete Variablen aufzählt, zwecks Übersicht und so b) dass PHP dadurch natürlich auch "Arbeit" abgenommen bekommt.
Kill one man, and you are a murderer.
Kill millions of men, and you are a conqueror.
Kill them all, and you are a god. - Jean Rostand, Thoughts of a Biologist (1939)
beim string:
$foo = (!isset($_REQUEST['foo']) ? '' : addslashes($_REQUEST['foo']));
beim integer:
$foo = (!isset($_REQUEST['foo']) ? 0 : (int)$_REQUEST['foo']);
$_COOKIE nicht vergessen!!
Abgesehen davon absoluter Schwachsinn, nur $_REQUEST zu verarbeiten, wenn das Script später dann $_GET bspw. nutzt
Je nach Server Konfig haben Laufzeit Änderungen an $_GET keine Auswirkungen auf $_request etc.
Generell sollte man $_REQUEST überhaupt nicht verwenden, da es einfach zu unspezifisch ist.
Wenn ich ein Formular via POST erwarte,warum sollte ich dann dieselben Daten auch als GET annehmen?
Das mit dem escapen kommt auf den Einzelfall an, wie verarbeite ich die Variable weiter?
Wie ist der Server eingestellt? (magic_quotes_.....)
Kill one man, and you are a murderer.
Kill millions of men, and you are a conqueror.
Kill them all, and you are a god. - Jean Rostand, Thoughts of a Biologist (1939)