Anzeige:
Ergebnis 1 bis 4 von 4

Thema: $_SERVER["QUERY_STRING"] ausgelesen, enthält & -> Problem!

  1. #1
    Registrierter Benutzer Avatar von Qudus
    Registriert seit
    14.03.2005
    Beiträge
    101

    Question $_SERVER["QUERY_STRING"] ausgelesen, enthält & -> Problem!

    hi

    Ich lese in einem PHP-Dokument den Wert von $_SERVER["QUERY_STRING"] aus. Den URL der Seite habe ich vorher selbst zusammengesetzt und in das href-Attribut eines a-links geschrieben. Dafür habe ich die & Zeichen per $amp; maskiert.

    Das Problem ist nun, dass in dem String, den ich auslese, diese &s augenscheinlich drinstehen, mein Parser aber nichts davon mitbekommt.

    strpos($qs, "&") gibt false zurück. Ich kann den String also einfach so behandeln, als stünde da ein einfaches &.

    Das ist ja erstmal kein Problem, da ich eigentlich sowieso davon ausgehe, dass das &amp da nicht ankommen sollte. Wenn ich aber nun die Funktion htmlEntities darauf anwende, kommt ein doppelt maskierter String heraus. Den kann ich natürlich nicht verwenden.

    Ich könnte jetzt einfach htmlEntities weglassen. Wenn sich jetzt aber PHP in einer anderen Version dann doch mal so verhält, wie ich das erwarten würde, ist mein HTML nicht mehr valid.

    Ich benutze PHP 4.3.8 im Apache 2 unter Linux. Ist das ein bekannter Fehler? Mache ich irgendwas falsch? Gibt es eine Lösung für das Problem?

    Qudus

  2. #2
    Registrierter Benutzer
    Registriert seit
    20.07.2003
    Beiträge
    147
    Sind es jetzt $amp; oder &?

    versuch es mal mit "%26"

    mfg
    c.

  3. #3
    Registrierter Benutzer
    Registriert seit
    25.12.2004
    Beiträge
    217
    Hallo Qudus,

    hoffentlich verstehe ich das Problem richtig - denke
    urlencode und urldecode helfen dir weiter...

    Gruß,

    nEox

  4. #4
    Registrierter Benutzer Avatar von Qudus
    Registriert seit
    14.03.2005
    Beiträge
    101
    Ich schätze, ich habe das Problem gefunden.

    Ich habe mir den query_string immer testweise in browser anzeigen lassen. Um direkt die richtige stelle im Quelltext zu finden, habe ich die Ausgabe markiert und "Auswahl-Quelltext anzeigen" im Kontextmenü des Firefox angeklickt. In diesem Quelltext-Ausschnitt werden & Zeichen immer als & maskiert. Im gesamt-Quelltext steht es aber im Roh-Zustand. Dadurch entstand aber der Eindruck, dass der Strning immer maskiert bei PHP ankommt. Ist aber gar nicht so.

    Naja, ich danke trotzdem für die Hilfe.

    Qudus

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •