Switchabfrage richtig?
der_SWITCHER
- php
0 Cheatah0 der_SWITCHER0 wahsaga0 der_SWITCHER0 wahsaga0 der_SWITCHER0 wahsaga0 der_SWITCHER1 wahsaga
Hallo,
ich habe eine Switch-Abfrage, die nicht zu gehen vermag:
switch($do)
{
case "suchen":
include "suchen.php";
break;
case "foundch":
include "foundch.php";
break;
case "verbug":
include "verbug.php";
break;
case "reg":
include "reg.php";
break;
case "mem":
include "mem.php";
break;
case "sitemap":
include "sitemap.php";
break;
case "disc":
include "discundagb.php";
break;
case "impressum":
include "impressum.htm";
break;
case "":
include "start.php";
break;
default:
include "fehler.htm";
}
Das klappt aber nit.
Noch mal was zur Funktionsweise:
Da ist auf der Seite eine Navigation, die auf sich selbst verweist, aber immer eine Variable mit übergibt(der link ist also z.B.: <a href="index.php?do=suchen">Suchen</a>).
MfG
Hi,
ich habe eine Switch-Abfrage, die nicht zu gehen vermag:
Das klappt aber nit.
weder "geht nicht" noch "klappt nit" sind Fehlerbeschreibungen. Sprich: Deine Frage funktioniert nicht.
Cheatah
Hallo,
weder "geht nicht" noch "klappt nit" sind Fehlerbeschreibungen. Sprich: Deine Frage funktioniert nicht.
Es wird immer nur
case "":
include "start.php";
break;
ausgeführt.
MfG
hi,
Es wird immer nur
case "":
include "start.php";
break;
ausgeführt.
Dann sollte dein erster Schritt mal sein, den "übergebenen" Wert zur Kontrolle auszugeben - var_dump($do);
Auf Basis der Erkenntnis, dass der gar nicht existiert, ist dein nächster Schritt, das error_reporting während des Entwickelns schärfer zu stellen, damit PHP dich auf solche Fehler selber hinweist - E_ALL wäre empfehlenswert.
Und dann informierst du dich über das Stichwort register_globals, diese Einstellung dürfte nämlich auf off stehen. Und das lässt du bitte auch so - und nimmst stattdessen von extern übergebene Werte auf vernünftige Weise in Empfang.
Und statt eines ellenlangen switches bietet sich ein Array, welches die "erlaubten" Werte enthält, und wogegen dann er übergebene Wert geprüft wird, eher an.
gruß,
wahsaga
Hallo,
bei var_dump wird NULL ausgegeben.
Die Variable ist also leer, trotz dass in der Adresszeile .../index.php?tun=suchen steht.
MfG
hi,
bei var_dump wird NULL ausgegeben.
Die Variable ist also leer, trotz dass in der Adresszeile .../index.php?tun=suchen steht.
Natürlich - deshalb schrieb ich dir ja, dass du diese Kontrollausgabe machen sollst, damit du es auch siehst.
gruß,
wahsaga
Hallo,
bei var_dump wird NULL ausgegeben.
Die Variable ist also leer, trotz dass in der Adresszeile .../index.php?tun=suchen steht.Natürlich - deshalb schrieb ich dir ja, dass du diese Kontrollausgabe machen sollst, damit du es auch siehst.
Das is mir schon klar! Trotzdem, wie soll ichs sonst machen soll.
Deine beiden Links helfen mir nicht.
Und um die Exsistenz der Superglobalen Variablen wusste ich auch schon. Aber wie soll ichs mit denen Machen???
MfG
hi,
Das is mir schon klar! Trotzdem, wie soll ichs sonst machen soll.
Das schrieb ich doch schon explizit in meiner ersten Antwort.
Deine beiden Links helfen mir nicht.
Warum nicht?
Und um die Exsistenz der Superglobalen Variablen wusste ich auch schon.
Warum nutzt du sie dann nicht?
Aber wie soll ichs mit denen Machen???
Nimm den Wert, mit dem du arbeiten willst, dorther, wo er dir explizit zur Verfügung gestellt wird - das _ist_ in der entsprechenden Superglobalen.
gruß,
wahsaga
Hallo,
Das is mir schon klar! Trotzdem, wie soll ichs sonst machen soll.
Das schrieb ich doch schon explizit in meiner ersten Antwort.
Deine beiden Links helfen mir nicht.
Warum nicht?
Und um die Exsistenz der Superglobalen Variablen wusste ich auch schon.
Warum nutzt du sie dann nicht?
Aber wie soll ichs mit denen Machen???
Nimm den Wert, mit dem du arbeiten willst, dorther, wo er dir explizit zur Verfügung gestellt wird - das _ist_ in der entsprechenden Superglobalen.
Tschuldigung, ich las nur den unteren Teil. Ich weiß jetzt zwar, wie es geht, aber es klappt einiges trotzdem noch nicht:
Wenn der Wert 'suchen' ist, wird 'string(6) "suchen"' ausgegeben.
Sorry nochmal.
MfG
hi,
Tschuldigung, ich las nur den unteren Teil.
D'oh ...
Ich weiß jetzt zwar, wie es geht, aber es klappt einiges trotzdem noch nicht:
Wenn der Wert 'suchen' ist, wird 'string(6) "suchen"' ausgegeben.
Ja, dass ist die Ausgabe, die man von einem var-dump zu Debugzwecken erwarten darf - es gibt über Typ, Länge/Größe und Inhalt auskunft.
Jetzt darfst du die Debugausgabe wieder entfernen, und die Variable - von der du jetzt ja festgestellt hast, dass sie existiert und auch das richtige enthält - an der Stelle einsetzen, wo vorher die nichtexistente Phantasievariable stand.
gruß,
wahsaga