Hallo,
jmd. hat mir geschrieben, dass er Probleme mit meinem Script hätte.
Dabei wird ein Base64 codierter String (erforderlich), nochmals per urlencode(); kodiert, um dann per GET übertragen zu werden.
z.B. so:
$text = "Hallo Welt";
$code = urlencode(base64_encode($text));
echo '<a href="?code=$code">Link</a>';
Dann beim Empfangen:
$empf = base64_decode(urldecode($_GET['code']));
echo $empf;
Dabei ist es extrem wichtig, das exakt die gleichen Texte übergeben werden, sprich:
md5($text) == md5($empf);
Eine kleinste Abweichung würde schon einem Fehler hervorrufen.
So jetzt zurück zum Problem. Diese Person meinte, es gäbe immer dann Probleme, wenn ein %-Zeichen übertragen werden soll.
Er hat dann folgendes Statement gefunden:
"
A reminder: if you are considering using urldecode() on a $_GET variable, DON'T!
Evil PHP:
<?php
BAD CODE! DO NOT USE!
$term = urldecode($_GET['sterm']);
?>
"
Nachdem er dann das urldecode+urlencode entfernt hat, funktioniert es beim ihm.
In wie fern ist an diese Statement etwas dran, und wie löst man das Problem am besten?
MFG