Sönke Tesch: Zeichenumwandlung bevor übergabe ?

Beitrag lesen

if ($irgenwas == wahr)
{
echo "<meta http-equiv='refresh' content='0; URL=NeachsteSeite.php?var1=" . $var1 . "&var2=" . $var2 "'>"

Da ist ein Fehler drin. Das & ist, wie auch sonst überall in HTML-Dateien, für sich nicht erlaubt, Du musst schon & schreiben.

Das Problem ist die Daten enthalten oft Sonderzeichen die mit übergeben werden müssen (z.b. ;) und bei den Zeichen passiert es das die Daten der Variablen nich richtig weitergegeben werden. Man könnte zwar einfach den Befehl htmlspecialchars() benutzen aber dann werden die Zeichen geändert.

Wenn überhaupt, dann htmlentities(). Ich bin mir jetzt nicht sicher, aber es wundert mich doch, daß per htmlentities() verpackte Daten noch codiert auf der zweiten Seite ankommen sollen. Kann eigentlich nicht sein.

Jedoch werden in der nächsten Seite noch weitere überprüfungen gemacht wobei die Zeichen noch so gebraucht werden wie sie vorher waren. Dann könnte man sagen ich könnte die Zeichen einfach zurück-umwandeln aber dann könnte es sein das ein User (weil er wusste das die Zeichen verarbeited werden) mit absicht die specialchars benutzt haben (um der verarbeitung der Zeichen aus dem weg zu gehen).

Kurzer Einwurf: Du sprichst in Rätseln. Bitte gib Dir doch wenigstens ein kleines bißchen Mühe beim Schreiben, achte auf die Rechtschreibung und lass hier und da mal ein Satzzeichen fallen.
Mit diesem Gequatsche ohne Sinn und Verstand machst Du es einem wirklich unnötig schwer, Dir zu folgen.

Nu ist meine Frage giebt es ein PHP-Befehl mit dem man solche Sonderzeichen so umwandeln kann wie es umgewandelt wird wenn man über eine form deht ? (also z.b. ! zu %21)

"..über eine form deht". Herr, erbarme! Form dehen? Was soll das heißen? Willst Du Buchstaben über einer Kuchenform drehen? In eine Form dehnen?

Gruß,
  soenk.e

PS: htmlentities(), rawurlencode(), urlencode().