fehler mit switch anweisungen
Frank
- php
0 MichaelR0 Frank
0 Antje Hofmann0 Frank
0 Tobias Kloth0 Frank
hallo!!
mal ne frage !
hab mir ne seite in php erstellt !
natürlich mit switch anweisung !!
aber ich bekomme jetzt immer folgende fehlermeldung:
Notice: Undefined index: weiter in f:\apache\rt\htm\seite.php on line 9
line 9: switch($_GET['weiter'])
{ // und hier gehts dann halt so weiter
case "":
echo ...
break;
case "teil2":
echo ...
break;
}
weis einer woran das liegene kann ?
wieso kommt immer diese Fehlermeldung ??
kann mir da jemand helfen ?? das ist lästig, wenn das mit in dem text steht !
Hallo,
[...]
aber ich bekomme jetzt immer folgende fehlermeldung:
Notice: Undefined index: weiter in f:\apache\rt\htm\seite.php on line 9line 9: switch($_GET['weiter'])
{ // und hier gehts dann halt so weiter
case "":
echo ...
break;
Ich glaube, dass das case keinen leeren String enthalten darf.
Falls Du auf
$_GET['weiter'] == ""
reagieren willst, dann setze ans Ende von Switch den default Zweig
switch(..){
case "sdflj" : ... break;
default : doit(); break;
}
Auf diese Weise kannst Du das Case "" auch umgehen.
Grüße
Michael
hm, leider war es das acuh nicht !
der fehler bleibt immer noch !!
weis jemand einen anderen rat ??
Hallo Frank,
aber ich bekomme jetzt immer folgende fehlermeldung:
Notice: Undefined index: weiter in f:\apache\rt\htm\seite.php on line 9line 9: switch($_GET['weiter'])
das liegt nicht an der switch-Anweisung, sondern an deinen Variablenwert. Im Array $_GET exisiert kein Eintrag mit der "weiter"
Abhilfe:
$meinWeiter = "";
if (isset($_GET['weiter'])) $meinWeiter = $_GET['weiter'];
switch($meinWeiter) ....
Viele Grüße
Antje
das liegt nicht an der switch-Anweisung, sondern an deinen Variablenwert. Im Array $_GET exisiert kein Eintrag mit der "weiter"
Abhilfe:
$meinWeiter = "";
if (isset($_GET['weiter'])) $meinWeiter = $_GET['weiter'];
switch($meinWeiter) ....
muss sagen, das hat es leider auch nicht gebracht !!
da kommt dann immer die fehlermeldung !!
aber nur wenn ich auf die erste Seite klicke, die aufgehen soll, also
case = "":
usw..
wenn ich auf ne andere seite springe, funst es, dann kommt der Fehler net !
aber wenn ich dann wieder auf die case "":
zurückspringe, ist er wieder da!
Hallo Frank,
Notice: Undefined index: weiter in f:\apache\rt\htm\seite.php on line 9
line 9: switch($_GET['weiter'])
php meckert, dass der Schlüssel 'weiter' im Array $_GET nicht existiert. Du kannst entweder mit error_reporting() php etwas "toleranter" einstellen, oder, besser, erst mit prüfen, ob $_GET['weiter'] gesetzt ist, z.B. so:
$weiter = isset($_GET['weiter'])?$_GET['weiter']:'';
Wenn $_GET['weiter'] gesetzt ist, steht in $weiter dieser Wert drin, wenn nicht, wird $weiter ein Leersting zugewiesen. (siehe http://www.php.net/language.operators.comparison) Wenn du dann $weiter in switch einsetzt, sollte es keine Meldung mehr geben.
{ // und hier gehts dann halt so weiter
case "":
warum schreibst du das nicht in den default-Block?
kann mir da jemand helfen ?? das ist lästig, wenn das mit in dem text steht !
nochwas am Rande: du plenkst.
Grüße aus Nürnberg
Tobias
ok, danke sehr !
Hatt sehr gut geklappt!