Logisches Problem mit $_SERVER['QUERY_STRING']

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

  • Logisches Problem mit $_SERVER['QUERY_STRING']

    Hallo liebe resourceianer und resourceianerinnen,
    nach langjähriger abwesenheit möchte ich wieder einmal eine Frage zum Besten geben und bin gespannt ob die Qualität der Antworten immernoch so ausgezeichnet ist wie anno dazumal Mir raucht gerade die Birne und ich komm nicht auf die Lösung, aber bestimmt wisst ihr mehr.

    Folgendes Problem:

    Bei meinem templatesystem gibt es einen Lichtschalter. Ob das licht an oder aus ist wird im link übergeben (...index.php?licht=an bzw. aus). Wenn man nun so über die seite streift, soll man in der lage sein das Licht von jeder Seite an und aus zu schalten, ohne dass sich der content ändert.Also muss der Link ja dynamisch sein.
    Wo sich der user gerade befindet, lässt sich ja mit $_SERVER['QUERY_STRING'] bestens herausfinden.

    Der link sieht dann quasi so aus ".$_SERVER['QUERY_STRING']."?licht=an und bei der "Licht-an-Seite" dementsprechend ".$_SERVER['QUERY_STRING']."?licht=aus.

    Nach mehrmaligem licht an und aus schalten summieren sich diese beiden allerdings zu ".$_SERVER['QUERY_STRING']."?licht=an&licht=aus&licht=an&licht=aus.

    So hab ich das Problem versucht zu lösen, allerdings bliebs beim selben resultat
    Code:
    <a href="index.php?<?php $link = $_SERVER['QUERY_STRING']; if(preg_match("/&site=day/", '$link')){echo $link;}else echo "$link&site=day"; ?>
    Hab versucht mit preg_replace zu handtieren, allerdings steige ich nicht so recht durch diese Regex operatoren durch. Vielleicht hat an dieser stelle ja noch jemand einen guten einführungslink.

    Wie würdet ihr dieses Problem lösen liebe Forumianer?


    liebe grüße

    Diggicell
    Zuletzt geändert von Diggicell; 30.05.2012, 21:05.
    "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
    (Henry Mon)


    http://www.diggicell.de

    Nun auch mit neuen Inhalten

  • #2
    Warum prüfst du nicht einfach mit $_GET['licht']? Oder ich verstehe dein Problem nicht ganz.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Zitat von Diggicell Beitrag anzeigen
      Wie würdet ihr dieses Problem lösen liebe Forumianer?
      http_build_query
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Ich hab bisher auch $_GET['licht'] benutzt, allerdings werden im laufe des seitenbesuches werden aber immer mehr, unbekannte parameter mit übergeben.

        So befindet sich z.b ein user auf index.php?sektion=kommentare&id=1452&licht=an

        Der link zum ausschalten müsste dann ja der selbe, jedoch mit licht=aus sein.Mein problem ist es gerade, den string bis auf licht=an zu zerlegen, zu prüfen obs an ist, und gegebenenfalls auf aus stellen. Vll hab ich mich nu besser verständlich gemacht
        "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
        (Henry Mon)


        http://www.diggicell.de

        Nun auch mit neuen Inhalten

        Kommentar


        • #5
          Zitat von Diggicell Beitrag anzeigen
          Mein problem ist es gerade, den string bis auf licht=an zu zerlegen
          Vergiss den String.

          Nimm das Array, das du hast - $_GET - und lies meinen vorherigen Hinweis noch mal ...
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Hab mir da jetzt mal gedanken drüber gemacht und auch angefangen zu tipsen, doch beim ersten test :
            Fatal error: Call to undefined function: http_build_query()

            Mein Provider ist leider noch nicht auf PHP5 umgestiegen. Gibts da vielleicht noch eine Ratschlag ?
            "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
            (Henry Mon)


            http://www.diggicell.de

            Nun auch mit neuen Inhalten

            Kommentar


            • #7
              Zitat von Diggicell Beitrag anzeigen
              Gibts da vielleicht noch eine Ratschlag ?
              Nutzerkommentare im Manual lesen - die bieten wie so oft auch hier Alternativen.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Wonderbra! Hab mir daraus was gebastelt, was es dem ersten anschein nach auch tut. Dann man vielen Dank!!
                "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
                (Henry Mon)


                http://www.diggicell.de

                Nun auch mit neuen Inhalten

                Kommentar

                Lädt...
                X