Sven Rautenberg: Fehlermeldung von PHP

Beitrag lesen

Moin!

Was'n das für eine Meldung? Die kommt so garantiert nicht.

Undifinied Index: login in c:\webs\produs\index.php on Line 20

Steht davor nicht vielleicht zufällig "Notice:"? Und steht da tatsächlich "Undifined" - oder vielleicht doch "Undefined"?

Du tippst die Meldung ab, aber nicht buchstabengetreu. Und nicht komplett.

Aber immerhin sehe ich dein Problem.

So steht sie da. In Linie 20 steht die Variable $_GET["login"]:

if ($_GET["login"]==1) {

Wenn im Array $_GET kein Index "login" definiert ist, kommt diese Notice. Das ist ein Hinweis, um Programmierfehler zu vermeiden, der sich abschalten läßt. Sollte in der php.ini dokumentiert sein.

Aber da es schöner ist, notice-frei zu programmieren:

if (isset($_GET['login']) && ($_GET['login']==1)) {

Wenn die Variable nicht gesetzt ist (weil sie nicht existiert), wird gar nicht erst versucht, ihren Inhalt mit 1 zu vergleichen.

Läßt sich möglicherweise verkürzen zu:
if (isset($_GET['login']))
wenn es nur darauf ankommt, dass die Variable gesetzt ist, aber nicht, ob 1 oder ein anderer Wert drin vorkommt.

- Sven Rautenberg

--
"Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
(fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)