Beste PhP'ers.
Ik ben bezig met een symfony applicatie en moet na een procedure een gebruiker redirecten naar een externe url met daarbij een custom http header.

Als ik nu vanuit symfony de volgende code heb:
<?php
$response = new RedirectResponse('http://localhost/testscript/testheaders.php');
$response->headers->set('Code', '543210xxxxx');
return $response;
?>
Dan kan ik in de ontwikkelaarshulp zien dat hij de header wel terugstuurd:

Vervolgens laat ik mijn script waar hij naar redirect (als test) alle headers afdrukken alleen de 'Code' staat er niet bij. Het script is heel simpel alsvolgt:

<?php
$headers = apache_request_headers();
foreach ($headers as $header => $value) {
echo "$header: $value <br />\n";
}
?>

Heeft iemand enig idee waarom hij dit niet wil tonen?

--edit, verkeerde plaatje toegevoegd--
je hebt aanvraagheaders en antwoordheaders.
Die functie van PHP toont alleen de aanvraagheaders. Gebruik anders:
http://php.net/apache_response_headers

Als je goed kijkt zie je ook totaal andere headers voorbij komen. In je Developer-tools kan je ze beiden bekijken.
Het HTTP-protocol voorziet niet in het forwarden van headers. Als workaround zou je de betreffende gegevens in een cookie kunnen zetten.

Reageren