Variable aus URL QUERY_STRING entfernen/löschen

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

  • Variable aus URL QUERY_STRING entfernen/löschen

    hallo erstmal

    PHP-Code:
    <div align='right'>
    <a href='<? echo $_SERVER['REDIRECT_URL']."?flag=deu&".[$_SERVER['QUERY_STRING'] ?>' target='_self'>
    <img src='images/deutsch.gif' width='31' height='15' border='0'></a>
    <a href='<? echo $_SERVER['REDIRECT_URL']."?flag=eng&".$_SERVER['QUERY_STRING'] ?>' target='_self'>
    <img src='images/englisch.gif' width='31' height='15' border='0'></a>
    </div>
    ok das klappt ja auch meine url+ variablen werden ausgelesen das prob ist nur wenn jetzt jemand erneut die sprache wechselt wird die alte $flag variable nicht überschieben, was ja auch logisch ist also dachte ich mir ich benutze einfach unset um die $flagvariable zu löschen was aber nicht funktionierte. hoffe mal ihr versteht was ich meine

    MFG
    Maik

  • #2
    das geht nicht, weil eine Var im Querystring für PHP eigentlich keine Var ist.
    Warum untersuchst du $_SERVER['QUERY_STRING'] nicht bevor du einsetzt?
    etwa nachschauen ob flag darin vor kommt, wenn ja entfernen.
    Tipp: in $_GET durchlaufen

    Kommentar


    • #3
      warum schaust du dir nicht $_GET an?

      da kannst du $_GET['flag'] setzen oder überschreiben wie du willst


      und imploden kannst du das ganze auch noch...
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        Re: Variable aus URL QUERY_STRING entfernen/löschen

        Original geschrieben von DZVO
        nur wenn jetzt jemand erneut die sprache wechselt wird die alte $flag variable nicht überschieben
        klar, diese steckt ja ebenfalls schon mit in $_SERVER['QUERY_STRING'] drin - deine echos erzeugen also

        href="seite.php?flag=neuer_wert&sonstiges_vars&flag=alter_wert"

        der neue wert wird also vom alten wieder überschrieben.

        wäre doch der logischste gedanke, dass jetzt einfach mal umzudrehen, oder?
        also erst $_SERVER['QUERY_STRING'] ausgeben, und dann &flag=neuer_wert hinten dran zu hängen.


        (btw: aber auch damit dürften sich bei mehrmaligem wechsel der sprache die flags am ende weiter aufstauen, also immer mehr &flag= -parameter werden hinzukommen.
        den wert also erst sauber aus dem query string auszuschneiden bzw. ihn dort zu ersetzen, wäre sicherlich eleganter ...)
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          In Anlehnung an ASP2PHP's Anregung:
          PHP-Code:
          <?php

          $arg_seperator 
          ini_get("arg_separator.output");

          function 
          replaceParameter($parameter$newvalue NULL) {
              GLOBAL 
          $arg_seperator;
              
              
          $result "";
              foreach ( 
          $_GET As $key => $value ) {
                  if ( 
          $key != $parameter || isset($newvalue) ) {
                      
          $result .= ( $result == "" "" $arg_seperator ).$key."=".urlencode($key == $parameter $newvalue $value);
                  }
              }
              return 
          $result;
          }

          ?>
          Ob's funzt mußt Du selber probieren ...
          Zuletzt geändert von goth; 06.05.2004, 13:56.
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            thx für die rasche hilfe und ich hab es auch geschafft so wie es wollte
            PHP-Code:
            echo $_SERVER['REDIRECT_URL']."?flag=eng&".$_GET['flag=eng']['flag=deu'
            hab ich nun zu stehen bei meinen links

            Kommentar


            • #7
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar


              • #8
                Original geschrieben von goth

                Kommentar

                Lädt...
                X