Get-Anweisung

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