der_SWITCHER: Switchabfrage richtig?

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

  1. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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

      1. 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

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hallo,
          bei var_dump wird NULL ausgegeben.
          Die Variable ist also leer, trotz dass in der Adresszeile .../index.php?tun=suchen steht.

          MfG

          1. 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

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. 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

              1. 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

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
                1. 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

                  1. 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

                    --
                    /voodoo.css:
                    #GeorgeWBush { position:absolute; bottom:-6ft; }