header redirect mit Parameter in URL
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angeben
aufruf
bau
code
dampf
fehler
funktionieren
garantie
header
http
index
info
logik
machen
nutzen
parameter
tee
umleitung
url
weiterleitung
-
Hallo
ich möchte per header('Location: ....") auf eine Seite umleiten,
aber die URL zur Umleitung enthält einige Parameter.
muss ich jetzt die URL Parameter (wie bei XHTML) mit & anhängen, oder nur mit &
so:
header ('Location: seite.php?id=123&name=Hans+Dampf&info=blablabla');
oder so:
header ('Location: seite.php?id=123&name=Hans+Dampf&info=blablabla');
die Werte je Parameter mit urlencode() ist klar,
aber Übergabe ab dem 2ten GET Parameter ... mit & oder mit & ... ?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ohne
sondern nur&
.&
brauchst du nur bei (X)HTML, damit nicht fälschlicherweise eine Entity entstehen kann, bei einer Weiterleitung darfst du das gar nicht nutzen…&
-
ok, Danke,
also redirect URL nur mit
und nicht mit&
&
dannmache ich für die URL einfach vorher
$url = str_replace('&','&',$url); header ('Location: '.$url.'');
und ...
(wie) macht man hei header() dann auch noch ein R=301 oder sowas mit dazu ?
Die URL ist ja durch die Parameter quasi "dynamisch"
aber die Weiterleitung soll doch Permanent sein, oder ?
Beitrag zuletzt geändert: 29.4.2013 12:10:24 von opsuche -
NEIN ... nicht ganz :oO
@tee in Deinem Code ist in header("...") mit "doppeltem Anführungszeichen"
aber dann escapest DU die Parameter doch wieder mit 'einfachen Anführungszeichen'
also entweder so: (... nur 'einfache Anführungszeichen' )
header('Location: http://www.tld.de/index.php?bla='.$param1.'&foo='.$param2.'');
oder so: (... nur "doppelte Anführungszeichen" )
header("Location: http://www.tld.de/index.php?bla=".$param1."&foo=".$param2."");
EDIT:
bzw. bei doppelte Anführungszeichen könnte auch das funktionieren:
header("Location: http://www.tld.de/index.php?bla=$param1&foo=$param2");
aber nicht
und"
gemischt :) ... oder ?! ... zumindest kommt sonst bei mir leere Seite (Fehler)'
Die $url für header("Location: ....") baue ich halt vorher zusammen ... richtig escaped ;)
und setzte diese dann für den Aufruf so ein:header ('Location: '.$url.'');
Aber kann man (muss man) nicht auch einen Redirect-Status angeben (ähnlich wie bei Mod-Rewrite)
... wenn ja, wie ? ... 301 oder anderen Wert ?
Beitrag zuletzt geändert: 29.4.2013 14:43:27 von opsuche -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage