Volker: Variable aus Adresszeile entfernen

Hallo zusammen,

in meinem Programm will ich die Adresszeile des Browsers
$_SERVER["REQUEST_URI"] (= dokument.php?var1=a&var2=b&var=XXXX&var3=c&...)
bearbeiten:
Ich will var=XXXX herauslöschen und an das Ende der Zeile einen neuen Wert von var anhängen.
Mein erster Gedanke war, dass ich mithilfe von str_replace nach "var=XXXX" suche und durch einen leeren String ersetze, allerdings habe ich dabei folgende Probleme:

  • Ich weiß weder wie der Wert XXXX aussieht, noch wie lang er ist.
  • Der String var=XXXX kann an einer beliebigen Stelle in der Adresszeile stehen, d.h. ich kann mich nicht daran orientieren, dass nach XXXX ein das Ende der Variable markierendes & auftaucht.

Hat einer eine Idee, wie ich alle Variablen außer var=XXXX erhalten und var=XXXX aus dem String löschen kann?

Danke im Voraus für eure Antworten.

Gruß, Volker

  1. Hallo Volker.

    in meinem Programm will ich die Adresszeile des Browsers
    $_SERVER["REQUEST_URI"] (= dokument.php?var1=a&var2=b&var=XXXX&var3=c&...)
    bearbeiten:
    […]

    Hat einer eine Idee, wie ich alle Variablen außer var=XXXX erhalten und var=XXXX aus dem String löschen kann?

    Lies die Werte die du brauchst aus $_GET aus und hänge den neuen Wert für „var“ an den aus den ausgelesenen Werten generierten Query-String an. Damit kannst du einen Header oder auch einen Link generieren. Eine direkte Bearbeitung dessen, was in der Adressleiste des Browsers steht, ist nicht möglich.

    Einen schönen Montag noch.

    Gruß, Mathias

    --
    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
    debian/rules
  2. hi,

    in meinem Programm will ich die Adresszeile des Browsers
    $_SERVER["REQUEST_URI"] (= dokument.php?var1=a&var2=b&var=XXXX&var3=c&...)
    bearbeiten: [...]
    Hat einer eine Idee, wie ich alle Variablen außer var=XXXX erhalten und var=XXXX aus dem String löschen kann?

    Variablen hast du gar keine, sondern Parameter :-)

    Und die bekommst du alle in $_GET zur Verfügung gestellt.

    $_GET['parametername'] überschreibst du einfach mit einem neuen Wert, und setzt das ganze dann in einer Schleife wieder zu einem Query-String zusammen. foreach(), urlencode().

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  3. echo $begrüßung;

    in meinem Programm will ich die Adresszeile des Browsers
    $_SERVER["REQUEST_URI"] (= dokument.php?var1=a&var2=b&var=XXXX&var3=c&...)
    bearbeiten:

    Da nicht immer REQUEST_URI mit dem tatsächlichen Scriptaufruf übereinstimmt (mod_rewrite macht's möglich), könntest du URL-Funktionen verwenden, beispielsweise parse_url(), parse_str() und http_build_query()

    echo "$verabschiedung $name";

    1. Da nicht immer REQUEST_URI mit dem tatsächlichen Scriptaufruf übereinstimmt (mod_rewrite macht's möglich), könntest du URL-Funktionen verwenden, beispielsweise parse_url(), parse_str() und http_build_query()

      Zusammen mit $_SERVER["QUERY_STRING"] passt der Vorschlag wunderbar.
      Danke.

      Gruß, Volker