VAR mit header('Location: datei.php') mitschicken
Steffen
- php
Hallo Forumler!
Bin gerade - mit meinen bescheidenen PHP-Künsten - dabei ein Skript in eine HP zu integrieren und stoße auf folgendes Problem:
Bei dem (Selbst-)Aufruf
header('Location: datei.php');
soll die VAR $user_id mitgegeben werden.
header('Location: datei.php?user_id=$user_id');
header('Location: datei.php?$user_id');
...schlägt fehl.
wie kann ich die VAR ab einfachsten weitergeben?
Danke!
Grüße aus Hohenlohe
Steffen.
SELBST GEHELFT ;-)
header('Location: datei.php?user_id={$user_id}');
Grüße Steffen
header('Location: datei.php?user_id={$user_id}');
Und ds ist immer noch falsch. Wen du mal nachlesen würdest, würde dir auffalen, das bei header(Location:) immer die komplette URL angegeben werden muss.
Hi Manuel,
header('Location: datei.php?user_id={$user_id}');
Und ds ist immer noch falsch. Wen du mal nachlesen würdest, würde dir auffalen, das bei header(Location:) immer die komplette URL angegeben werden muss.
Und was du sagst ist immer noch falsch ;-) - oder zumindest nicht das Gelbe vom Ei. Du hast Recht, eine URI bei Location muss absolut (Steffen, dass heißt mit http:// usw.) angegeben werden - aber das Problem hier ist, dass die Variable $user_id in einfach gequoteten Strings nicht geparset wird. Deshalb entweder:
header("Location: http://{$_SERVER['HTTP_HOST']}/{$_SERVER['PHP_SELF']}?user_id={$user_id}");
oder
header('Location: http://' . $_SERVER['HTTP_HOST'] . '/' . $_SERVER['PHP_SELF'] . '?user_id=' . $user_id);
Steffen, in dem Beispiel hier habe ich die absolute URI direkt aus den entsprechenden Einträgen aus dem globalen $_SERVER Array zusammengebastelt - natürlich könnte man die URI auch von Hand da notieren, aber dann müsste man das Script immer anpassen, wenn man es a) umbenennt oder b) auf einem anderen Server laufen lässt.
MfG, Dennis.
echo $begrüßung;
header('Location: datei.php?user_id=$user_id');
header('Location: datei.php?$user_id');...schlägt fehl.
"schlägt fehl" ist normalerweise keine ausreichende Fehlerbeschreibung. Doch in diesem Fall sieht man den Fehler auch so. Du solltest dich informieren, wie PHP Strings behandelt, und in welchem Fall darin Variablen erkannt werden.
Außerdem heißt es immer, dass für den Location-Header nur eine vollständige URL richtig sei.
echo "$verabschiedung $name";
Hi,
header('Location: datei.php');
HTTP erforfert, dass im Location-Header eine _absolute_ URL angegeben wird. Dies hier ist strikt untersagt.
soll die VAR $user_id mitgegeben werden.
Es existiert kein Weg, eine Variable (ich nehme an, das soll Dein "VAR" bedeuten) über HTTP zu übertragen. Wenn Du einen Parameter meinst, dann sage das bitte auch.
...schlägt fehl.
Deine Fehlerbeschreibung auch, siehe dedlfix' Antwort.
Cheatah