Switch-Anweisung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Switch-Anweisung

    Moin.
    Folgendem: ich möchte übergebene Variablen, die den Content handeln bzw. festlegen, über ein switch verfahren abarbeiten. Die variablen werden nach dem schema
    http://www.domain.de/framwork.php?de...variablensalat

    wenn ich jetzt hergehe und $dest_url (darum gehts)
    an switch übergebe, dann sagt das manual:

    Code:
    switch ($i) {
        case 0:
            print "i ist gleich 0";
            break;
        case 1:
            print "i ist gleich 1";
            break;
        case 2:
            print "i ist gleich 2";
            break;
    }
    ich hätt aber gern:

    Code:
    switch ($dest_url) {
        case "news":
            include("pages/news.php?ncat=public&limit=default");
            break;
        case "sitemap":
            include("public/sitemap.html");
            break;
        case "linkbox":
            include("misc/linkbox.php?lcat=public&user=pageuser");
            break;
    // uns so weiter
    
    }
    Natürlich kann ich das auch mit ner Menge if's machen,
    aber das is mir irgendwie zu unattraktiv.

    wär für hilfe oder sowas dankbar.
    Nico
    Datenbanken sind ja schon was lustiges. Aber ich brauch auch Content, verdammich

  • #2
    Wo ist liegt Problem?
    Die include()-Anweisung liest die angegebene Datei ein und wertet sie aus, willst Du das überhaupt?

    oder willst Du, daß eher das jeweilige Skript über header( "Location: xxx "); aufgerufen wird?

    Kommentar


    • #3
      In der Anleitung steht aber auch, das du nicht nur Int Werte vergleichen kannst, Strings gehen auch. Nur Objekte und Arrays wollen nicht.

      Damit sollte deine Lösung auch gehen

      gruss

      Kommentar


      • #4
        Der switch ($dest_url) wie ihn Sumsl unter "ich hätt aber gern: .." angegeben hat funtioniert ja, deshalb weiß ich ja nicht wo das Problem liegt oder liegen könnte.

        Kommentar


        • #5
          Wenn ich jetzt nicht für 1.5 Stunden wegmüßte, könnten wir ja über das Problem ein zwiegespräch führen :-))

          gruss

          Kommentar


          • #6
            Um ehrlich zu sein: jetzt weiss ich auch nicht mehr, wo mein Problem liegt.
            Bis VOR euren Antworten hat er mir einfach kommentarlos genau garnix ausgegeben.
            JETZT, wo ihr was geschrieben habt, funktionierts einwandfrei. naja... WAMP steht ja
            auch nicht für Winamp sondern hat was mit Windows zu tun. *schulterzuck*
            Ich hab aber nix geändert *schwör*

            Aber trotzdem vülln dank für die schnellen Antworten.
            @MoRtAlan: das mit den Strings hab ich mindestens 3mal überlesen.
            Aber das wird wohl an gestern nacht liegen *blinzel*

            thx@all
            Nico
            Datenbanken sind ja schon was lustiges. Aber ich brauch auch Content, verdammich

            Kommentar


            • #7
              AAAAHHHHH ich habs
              http://www.domain.de/framwork.php?de...variablensalat
              ist falsch- zweimal "?"

              Richtig ist:
              http://www.domain.de/framwork.php?de...variablensalat

              Kommentar


              • #8
                hmm. ja. *blindbin*

                ich hab tatsächlich die url (bzw. ab "framwork.php?")ausm browser kopiert.
                Nach euren Postings hab ich die url nochmal eingegeben.
                Ächja: meine variablen heissen NICHT $nochmehr usw.
                Das war nur des testens halber...

                Aber wenn hand das in die hand nimmt *wasnwortspiel_stolzbin*
                dann funktionierts auch des öfteren mal, ne ?

                Und ich trottel schau alle Manuals durch die ich hab und
                kontrolliere meine Code bis zum gehtnichmehr *roaahr*

                thx hand
                Nico
                Datenbanken sind ja schon was lustiges. Aber ich brauch auch Content, verdammich

                Kommentar


                • #9
                  Mal ne Frage.

                  Ich wüsste gerne wofür das Dest in der URL steht. Wird das benötigt? Wenn ja, wofür?

                  Und noch was zu dem Switch:
                  Hab das auch so ähnlich gemacht, nur nicht mit den Switches, weil da bei mir ne Menge mehr zusammen kommen würde. Das wäre ein ellenlanger Text geworden. Ich hab dann direkt das genommen, was in der Url drinsteht und dann ein .php angehangen und fertig. Damit hat man nen Text von etwa 5 Zeilen. Okay, bei 3 Seiten (wie in deinem Bespiel) tut das nicht weh. Aber bei sagen wir 40 - 50 Seiten und entsprechend vielen Switch anweisungen wird es doch unübersichtlich...


                  [ciao]
                  der Tobi

                  Kommentar


                  • #10
                    Hi Tobiaz.
                    Das kann man mit der unterstrichenen URL nurn bisschen
                    schlecht erkennen: das ist meine variable, in dem fall per
                    GET übergeben und heisst: $dest_url, soll heissen
                    destination URL, also der einzubindende Content.

                    zu deiner version: ich hab auch ein paar linkmöglichkeiten
                    mehr als nur die drei. ich bezwecke damit, daß ich auch ne
                    default-möglichkeit einbinde, wenn nix angegeben ist.

                    allerdings weiss ich auch noch nicht, ob das hier dann die
                    endgültige version sein wird. für zuviele möglichkeiten is
                    switch sicher nix, da hast du recht, aber wenn du das ziel
                    direkt in die url schreibst, dann können ja auch fehleingaben
                    vorkommen, die zu keinem gültigen ziel führen. ich würde
                    in dem falle dann per @fopen die existenz der entsprechenden
                    datei absichern und dann im zweifelsfalle auf ne eigene
                    fehlerseite oder wie ich das vorhabe, auf die sitemap umleiten.
                    40 bis 50 Seiten würde ich möglicherweise auch über ne
                    datenbank machen, oder über ein array in einer .inc handeln
                    im administrationsbereich der page könntest du ja z.B. über
                    ein
                    $array["seitenstichwort"]["url"];
                    //und dann redirecten/includen

                    das ganze so oft, wie dus brauchst und die anzulegenden seiten
                    über ein formular auslesen, und bei bedarf auch weitere
                    zufügen oder einträge ändern. die änderungen kann man dann schlicht in die datei (die .inc) schreiben.

                    wenn jemand nen fehler in dem konzept entdeckt, bitte sagen.
                    das is mir jetzt grade bei schreiben so gekommen.

                    mfg
                    Nico aka Sumsl







                    Datenbanken sind ja schon was lustiges. Aber ich brauch auch Content, verdammich

                    Kommentar


                    • #11
                      Mit der DB ist sicherlich die bessere Lösung. Da kannst du dann ja auch zuerst abchecken, ob die Seite in der DB drin ist. Und dann ausgeben, oder halt deine Sitemap machen.

                      Ich denke mal fopen dauert länger, oder nicht?

                      Kommentar


                      • #12
                        jo. ich denk mal, du hast recht.
                        aber das konzept wäre machbar für seiten,
                        die auf freehostern ohne datenbank liegen.

                        Problem ist nur, wenn du ne unvollständige DB hast
                        ausser du lässt einfach alle dateien im Space aufnehmen.
                        automagisch per skript. und alle dateien mit endung
                        .php .php4 .htm .html und sowas mit nem flag eintrage,
                        nach dem motto "du darfst angezeigt werden".
                        das skript: per cronjob je nach änderungsfrequenz.
                        damit wäre dann auch sichergestellt, daß alle dateien drin sind, und dir
                        url richtig ist, schreibfehler gibts nicht, und tote links
                        auch nicht.
                        mal probieren.

                        mfg
                        Nico aka Sumsl





                        Datenbanken sind ja schon was lustiges. Aber ich brauch auch Content, verdammich

                        Kommentar


                        • #13
                          Das wäre natürlich genial. Wenn sich der Aufwand denn lohnt. Ich sag mal beim meinen 50 Seiten blicke ich noch ganz gut durch. Und nen Cron dafür laufen zu lassen wäre mich eigentlich zu viel. Aber in Sachen CMS oder so, sicher angebracht.

                          Kommentar


                          • #14
                            weisst du was ? ich werd einfach mal nen ablaufplan
                            dafür entwerfen und mir das nochmal durch den kopf gehen
                            lassen.
                            wenn du willst geb ich dir bescheid, wenn ich soweit bin.
                            schau mer mal
                            mfg
                            Nico aka Sumsl
                            Datenbanken sind ja schon was lustiges. Aber ich brauch auch Content, verdammich

                            Kommentar


                            • #15
                              Kannst du mir dann gerne mal schicken. Kommt immer gut, wenn man schwachstellen beseitigen kann. Wenn ich mehr Zeit hätte, würde ich selbst wieder in der Richtung etwas machen, aber ich hab jetzt mit meinem Newsletter erstmal genug zu tun.

                              Kommentar

                              Lädt...
                              X