Http_referer

  • Onderwerp starter Onderwerp starter Cody
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Cody

Gebruiker
Lid geworden
7 aug 2011
Berichten
20
Op mijn website wil ik graag dat iemand die een beveiligde pagina bezoekt zonder dat hij ingelogd is, na het inloggen alsnog naar de gevraagde pagina wordt gestuurd.
Na even zoeken zag ik dat dit mogelijk was met $_SERVER['HTTP_REFERER'].


Om dat te testen had ik het volgende geprobeerd:

redirect.php
PHP:
<?php
  header("Location: echo_redirect.php");
?>
echo_redirect.php
PHP:
<?php
  $ref = $_SERVER['HTTP_REFERER'];
  echo "Je werd doorgestuurd van de volgende pagina: ". $ref;
?>

Toch blijft $ref leeg nadat ik ben doorgestuurd. Kan iemand me hiermee helpen? :confused:
 
Een referer wordt meestal meegestuurd vanaf de client wanneer hij naar een andere pagina gaat buiten het domein. Letop: ga er nooit vanuit dat er een referer is aangezien dit een keus is van de browser!
 
Wanneer een browser wordt doorgestuurd dmv een location header zal de referrer ongewijzigd blijven en dus niet wijzigen naar de pagina waarvan de header wordt gestuurd.

Je zult iets moeten doen als
Code:
header('Location: login.php?redirect='.rawurlescape($_SERVER['REQUEST_URI']));
exit;

op login.php kun je na het inloggen de bezoeker doorsturen naar $_GET['redirect'];

Let trouwens ook op de exit, code onder een header() zal gewoon uitgevoerd worden.
 
Achzo, nu begrijp ik hoe de headerfunctie werkt. Ik heb het eindelijk werkende gekregen!

Bedankt voor jullie hulp :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan