umlaute in url korrekt codieren?
klaus
- php
hallo alle zusammen,
ich will ein paar variablen per url an eine seite übertragen:
message.php?mail=".urlencode($ergebnis[5])."&surname=".urlencode($ergebnis[0])."&firstname=".urlencode($ergebnis[1])."
$ergebnis[x] enthält ein namen, die naturgemäß auch umlaute o.ä. enthalten können, deswegen die codierung per urlendcode.
auf der folgeseite (message.php) wollte ich dann eigentlich die variablen ausgeben, allerings klappt das nicht - jedenfalls nicht korrekt decodiert:
<?php echo urldecode($mail)."<br>"; echo urldecode($surname)."<br>"; echo urldecode($firstname)."<br>"; ?>
stattdessen kommt zum beipsiel so ein blödsinn raus: Demiröz Ãmüs
in der url selber sieht das dann so aus: /message.php?mail=UDemiroez%40test.de&surname=Demiröz&firstname=%C3%9Cm%C3%BCs
kann mir da jemand weiterhelfen?
Halihallo klaus
ich will ein paar variablen per url an eine seite übertragen:
Parameter werden übergeben, nicht Variablen.
message.php?mail=".urlencode($ergebnis[5])."&surname=".urlencode($ergebnis[0])."&firstname=".urlencode($ergebnis[1])."
OK.
<?php
echo urldecode($mail)."<br>";
echo urldecode($surname)."<br>";
echo urldecode($firstname)."<br>";
?>
Du hast RegisterGlobals = On, was ich nicht empfehle, verwende $HTTP_GET_VARS['mail']
bzw. $HTTP_POST_VARS['mail'].
Zudem sind diese automatisch iniziierten Variablen _bereits_ decodiert, ein erneutes
dekodieren ist also falsch.
Viele Grüsse
Philipp