Frage zum Querystring

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

  • Frage zum Querystring

    Hi, habe seit ewigkeiten kein PHP mehr gemacht und bin ein wenig eingerostet, also bitte entschuldigt wenn das ganze Newbe-ische Züge annimt.

    Wie auch immer, ich habe folgendes Problem: Ich will aus dem Querystring das hier auslesen:

    index.php?DasHier&wasauchimmer=blah

    dazu fällt mir erst mal nur eine sehr umständliche und Problemgeladene Lösung ein:

    PHP-Code:
    $queries explode("&"getenv("QUERY_STRING"));
    $sitename $queries[0]; 
    in $siteame steht dann das gewünschte, dabei entsteht aber folgendes Problem: Wenn die URL jetzt so aussieht:

    index.php?user=stink&[...]

    steht in $sitename "user=stink", und das ist natürlich nicht gewünscht.

    Also: Gibt es eine möglichkeit das unkomplizierter/besser/direkt auszulesen?

    PS: Sorry für die Scheissformulierung, konnt's net besser...

  • #2
    wie meinen?
    wenn du nen QUERY_STRING hast, steht doch alles im $_GET array?
    $_GET['sitename'] z.B.

    wenns wirklich ein string ist, schau dir mal parse_str() an.
    Kissolino.com

    Kommentar


    • #3
      Nicht ganz, mein Problem ist, ich habe eine URL á la

      index.php?blah

      ...wie komme ich an das 'blah'?

      PS: $_GET[0] geht nicht

      Kommentar


      • #4
        so:
        PHP-Code:
        echo $_SERVER['QUERY_STRING']; 
        aber welchen sinn hat es, den wert so zu übergeben?
        steht "blah" an einer anderen stelle, musst du für
        alle array-elemente noch prüfen, ob ein "=" vorkommt.

        wenn du "blah" verschleiern willst machs doch mit:
        index.php?jherkjwherkj=blah&blubb=test...

        oder versteh ich's heute nicht so richtig?
        Kissolino.com

        Kommentar


        • #5
          Wieder nicht ganz! Gibt man den ganzen Querystring aus hängt da ggf. noch jede Menge kram dran den man nicht will. Ich will -ausschließlich- das erste Wort hinter dem index.php? (index.php?Wort), und wenn da eine Variable als erstes steht (index.php?variable=inhalt), soll er mir einen leeren String (bzw. das Wort "Home") geben.

          Der Zweck ist folgender: Ich schreibe gerade ein Wiki (weißt du was das ist?), das erste Wort hinter dem ? soll der Seitentitel sein. Es ist aber möglich dass in der URL noch andere Parameter übergeben werden, und die sollen dann nicht als Seitenname verwendet werden.

          Ist aber auch nicht sooooo wichtig, nur ein Schönheitsfehler, also zerbrich dir nicht den Kopf wenn du nicht direkt ne idee hast

          Kommentar


          • #6
            Original geschrieben von Luke
            Der Zweck ist folgender: Ich schreibe gerade ein Wiki (weißt du was das ist?), das erste Wort hinter dem ? soll der Seitentitel sein. Es ist aber möglich dass in der URL noch andere Parameter übergeben werden, und die sollen dann nicht als Seitenname verwendet werden.
            trotzdem verstehe ich nicht, warum du die sache komplizierter machst als sie ist.


            script.php?seitentitel=titelmeinerseite&wert1=xyz&nochnwert=abc
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              (Ich geh mal davon aus dass du weißt was ein Wiki ist) Die User sollen einfach www.blah.de/?Name schreiben können, das ist kürzer, einfacher, und Wikistyle. Ist doch auch egal, ich will's unbedingt so. Das Wiki existiert bereits, ich schreib's nur grad komplett neu (sauber+schön), die User haben sich auch schon dran gewöhnt... .

              Kommentar


              • #8
                Original geschrieben von Luke
                (Ich geh mal davon aus dass du weißt was ein Wiki ist)
                ja, ich hab davon gehört.
                allerdings kann ich den momentanen hype darum trotzdem nicht nachvollziehen ....

                Die User sollen einfach www.blah.de/?Name schreiben können, das ist kürzer, einfacher, und Wikistyle. Ist doch auch egal, ich will's unbedingt so. Das Wiki existiert bereits, ich schreib's nur grad komplett neu (sauber+schön), die User haben sich auch schon dran gewöhnt... .
                dann lege fest, dass der name gefälligst als erstes hinter ? zu stehen hat, und weitere, echte parameter erst danach kommen dürfen - das ist die einfachste möglichkeit.

                andernfalls musst du dir wirklich etwas aufwendigeres überlegen, um den query string zu parsen.
                (z.b. wäre denkbar, den query string zunächst an den &-zeichen aufzusplitten, und anschliessend zu ermitteln, in welchem dieser segmente kein = drin steht ...)
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Original geschrieben von wahsaga
                  ja, ich hab davon gehört.
                  allerdings kann ich den momentanen hype darum trotzdem nicht nachvollziehen ....
                  Was für ein Hype? Sicher dass wir von der selben Sache reden?

                  dann lege fest, dass der name gefälligst als erstes hinter ? zu stehen hat, und weitere, echte parameter erst danach kommen dürfen - das ist die einfachste möglichkeit.
                  Jo

                  andernfalls musst du dir wirklich etwas aufwendigeres überlegen, um den query string zu parsen.
                  (z.b. wäre denkbar, den query string zunächst an den &-zeichen aufzusplitten, und anschliessend zu ermitteln, in welchem dieser segmente kein = drin steht ...)
                  Hab's im moment so gemacht:
                  PHP-Code:
                  $queries explode("&"getenv("QUERY_STRING"));
                  $pagename $queries[0]; 
                  Trotzdem scheint mir das für so ne kleine aktion relativ aufwendig... da muss es doch was simpleres geben... .

                  Kommentar

                  Lädt...
                  X