Notice: Undefined variable
Startseite > PHP Fehler > Notice: Undefined variable
Bei dieser Notice von PHP wird darauf hingewiesen das eine nicht existierende Variable verwendet werden soll.
Die ausgegebene PHP-Notiz
Notice: Undefined variable: wert in E:\test\test_code.php on line 2
Ursache der PHP Meldung:
In der Zeile 2 von test_code.php wurde versucht auf eine nicht vorhandene Variable Names wert zuzugreifen.
Variablen sollten vor dem ersten Zugriff definiert/angelegt werden. Beim definieren einer Variable ist es möglich der Variable gleich einen Wert zuzuweisen.
Ein paar Beispiele fürs anlegen einer Variable
Code:
Hier wird eine Variable auf vorhandensein geprüft und notfalls angelegt
Code:
Hier ein weiteres Beispiel um prüfen auf Existenz einer Variable in PHP
Code:
Anmerkung
Die Fehlermeldung: Notice: Undefined variable gehört zu den am meisten erzeugten Fehlern die PHP ausgibt. Es gibt viele PHP Open-Source Projekte wo diese einfachen Regeln nicht berücksichtigt werden. Zum Teil liegt es sicherlich an die vielen Hobby Entwickler die an diesen Projekten mitwirken. Die dann aus Unwissenheit oder aus Bequemlichkeit dieses nicht berücksichtigen. Immerhin ist PHP hier recht Kulant und legt die Variable dann selbst an und läßt die Scripte weiterlaufen. Den meisten Anwendern fällt es erst auf wenn sie Ihren Webhoster wechseln bzw. der aktuelle Provider seine Webserver und das PHP anders konfiguiert. Auf einmal erscheinen dann die ganzen Fehlermeldungen.
Manche Hobby Programmier setzen dazu dann nochmal ein extra Code ein, der dafür sorgt das die Ausgabe der Meldungen unterdrückt werden, wodurch der Code noch größer aufgebläht wird.
Allerdings sollte man nicht außer acht lassen das die Entwickler von PHP das verhalten von PHP ändern könnten, dann würde eine Vielzahl von PHP Projekten nicht mehr funktionieren. Ähnlich wie es einst mit register_globals geschehen ist bei der Umstellung von PHP4 auf PHP5.
Wenn sie ein Open-Source Programm (Forum, Shop, CMS) einsetzen und wissen wollen ob hier auch diese Fehler vorhanden sind, stellen sie in der PHP.ini das Error_Reporting auf E_ALL und display_errors sollte auf 1 stehen. Wenn sie keinen Zugriff auf die php.ini haben können sie auch ein kleinen PHP Code oberhalb Ihrer Scripte einfügen das die Ausgabe der Meldungen bewirkt.
Code:
Notice: Undefined variable: wert in E:\test\test_code.php on line 2
Ursache der PHP Meldung:
In der Zeile 2 von test_code.php wurde versucht auf eine nicht vorhandene Variable Names wert zuzugreifen.
Variablen sollten vor dem ersten Zugriff definiert/angelegt werden. Beim definieren einer Variable ist es möglich der Variable gleich einen Wert zuzuweisen.
Ein paar Beispiele fürs anlegen einer Variable
Code:
- //Anlegen gleich mit einen Wert
- $meine_var = 'Das ist ein String';
- //Anlegen einer Var ohne Inhalt als String
- $var = '';
- //oder
- $var = 0;
Hier wird eine Variable auf vorhandensein geprüft und notfalls angelegt
Code:
- if(!$wert){
- $wert = 'neuer Inhalt';
- }
- echo $wert;
Hier ein weiteres Beispiel um prüfen auf Existenz einer Variable in PHP
Code:
- //Um diese Warnungen zu vermeiden, sollte man vor der Verwendung
- //einer Variable Ihre Existenz prüfen, php bietet dazu zum Beispiel
- //die Funktionen isset und empty an.
- if(!isset($wert)){
- $wert = 'neuer Inhalt';
- }
- echo $wert;
Anmerkung
Die Fehlermeldung: Notice: Undefined variable gehört zu den am meisten erzeugten Fehlern die PHP ausgibt. Es gibt viele PHP Open-Source Projekte wo diese einfachen Regeln nicht berücksichtigt werden. Zum Teil liegt es sicherlich an die vielen Hobby Entwickler die an diesen Projekten mitwirken. Die dann aus Unwissenheit oder aus Bequemlichkeit dieses nicht berücksichtigen. Immerhin ist PHP hier recht Kulant und legt die Variable dann selbst an und läßt die Scripte weiterlaufen. Den meisten Anwendern fällt es erst auf wenn sie Ihren Webhoster wechseln bzw. der aktuelle Provider seine Webserver und das PHP anders konfiguiert. Auf einmal erscheinen dann die ganzen Fehlermeldungen.
Manche Hobby Programmier setzen dazu dann nochmal ein extra Code ein, der dafür sorgt das die Ausgabe der Meldungen unterdrückt werden, wodurch der Code noch größer aufgebläht wird.
Allerdings sollte man nicht außer acht lassen das die Entwickler von PHP das verhalten von PHP ändern könnten, dann würde eine Vielzahl von PHP Projekten nicht mehr funktionieren. Ähnlich wie es einst mit register_globals geschehen ist bei der Umstellung von PHP4 auf PHP5.
Wenn sie ein Open-Source Programm (Forum, Shop, CMS) einsetzen und wissen wollen ob hier auch diese Fehler vorhanden sind, stellen sie in der PHP.ini das Error_Reporting auf E_ALL und display_errors sollte auf 1 stehen. Wenn sie keinen Zugriff auf die php.ini haben können sie auch ein kleinen PHP Code oberhalb Ihrer Scripte einfügen das die Ausgabe der Meldungen bewirkt.
Code:
- error_reporting(E_ALL);
- // oder folgende Anweisung:
- ini_set ('error_reporting', E_ALL);
Kommentar schreiben
andere Themen:
23.02.2005
Table 'test.news' doesn't exist22.02.2005 Parse error: parse error, unexpected T_VARIABLE, expecting T_OLD_FUNCTION or T_FUNCTION or
22.02.2005 Parse error: parse error, unexpected '='
22.02.2005 Warning: main(datei.php): failed to open stream: No such file or directory in
Zurück

Kommentare