Sonderzeichen im Headerbefehl

WolfBauer

Erfahrenes Mitglied
Moin,

ich habe ein Problem mit dem Headerbefehl und folgendem Code.
Code:
header ("Location: index.php?action=$action&mode=$mode&do=$do");

Die Weiterleitung klappt ohne Probleme. Wenn z.B.: in $mode ein Wert mit "return", "<br>" oder ein Leerzeichen ist, wird der Rest des Links abgeschnitten. Also in diesem Fall: &do=$do.

Bei normalen Links kann ich dieses Problem wie folgt umgehen:
Code:
<a  href='test.php?action=$action&mode=$mode&do=delkompo'>
also indem ich den Link in einfache Anführungszeichen setze.

Kann mir jemand sagen wie es mit bei dem Headerbefehl funktioniert?
Ich habe schon diverse Formatierungen ausbrobiert.

MFG
 
Es funktioniert leider nicht. Ich bekomme die Fehlermeldung, dass ich keinen Zugriff auf die Datei habe.
Allerdings funktioniert der Zugriff sonst.
 
Ich habe es gelöst.
Also so geht es:

Code:
header ("Location: index.php?action=".urlencode($action)."&mode=".urlencode($mode)."&do=".urlencode($do));

und so geht es nicht:

Code:
header ("Location: ".urlencode(index.php?action=$action&mode=$mode&do=$do));

warum weiß ich allerdings nicht.
Vielen Dank.
 
Das würde ich nicht als gelöst bezeichnen... ;)
PHP:
header ("Location: ".urlencode("index.php?action=$action&mode=$mode&do=$do"));
 
Warum regt Ihr Euch denn hier im Doppelpack fuer Nichts auf.

Man beachte die nicht funktionierende Originalversion
PHP:
header ("Location: ".urlencode(index.php?action=$action&mode=$mode&do=$do));
und die von Johannes korrigierte Version
PHP:
header ("Location: ".urlencode("index.php?action=$action&mode=$mode&do=$do"));

Also: Augen auf beim Eierkauf. Und das naechste Mal erstmal richtig lesen, dann braucht man nicht so peinlich rummeckern.
 
Zurück