Hallo!
Wer kann mir bei meinem Problem helfen?
Ich möchte gerne einen Wert per Get-Anweisung übergeben (d.h. der Wert wird in der URL mitgegeben). Der Werte, den ich übergeben möchte, hat jedoch ein &-Zeichen im String!
Bsp.: Die URL sieht richtig so aus…
www.test.de/index.php?name=Andi&nachname=Mueller
Nun möchte ich als „name“ die Zeichenfolge Andi&Miri übergeben (mit diesem &-Zeichen!!!). Mir ist es klar, dass dann eine Fehlermeldung kommt. Aber wie kann ich einen solchen Wert dennoch übergeben? Oder gibt es da keine Möglichkeit?
Danke!
Gruß,
Andreas
Hallo Andreas,
Ich möchte gerne einen Wert per Get-Anweisung übergeben (d.h.
der Wert wird in der URL mitgegeben). Der Werte, den ich
übergeben möchte, hat jedoch ein &-Zeichen im String!
www.test.de/index.php?name=Andi&nachname=Mueller
Nun möchte ich als „name“ die Zeichenfolge Andi&Miri übergeben
(mit diesem &-Zeichen!!!). Mir ist es klar, dass dann eine
Fehlermeldung kommt. Aber wie kann ich einen solchen Wert
dennoch übergeben? Oder gibt es da keine Möglichkeit?
Verwende einfach die PHP-Funktion urlencode() oder rawurlencode, um
Deine Parameter korrekt zu kodieren:
...
$name = rawurlencode('Andi&Miri');
echo 'http://www.test.de/index.php?name='.$name;
...
In dem Script, das die Daten entgegennimmt (index.php) muss dann natürlich
eine entsprechende Dekodierung über urldecode() bzw. rawurldecode()
vorgenommen werden:
...
$name = rawurldecode($\_GET['name']);
...
Fertig.
Links:
http://de2.php.net/manual/de/function.rawurlencode.php
http://de2.php.net/manual/de/function.urlencode.php
http://de2.php.net/manual/de/function.rawurldecode.php
http://de2.php.net/manual/de/function.urldecode.php
Gruss
Thomas
%26
%26 ist das Zeichen, das für das & steht…
urlencode ist nicht zwanghaft notwendig wenn Du mich fragst…
btw kannst Du das auch mit folgendem kurzscript rausfinden:
es ist halt nur ein wenig unüblich method=get zu verwenden - funzt aber auch und man sieht wie man eine url dann übergeben muss…
Hallo!
Vielen Dank für die schnelle Antwort! Ich werde das jetzt gleich mal testen!
Gruß,
Andreas