2 votes

récupérer l'url de la page qui a appelé la page courante

J'ai une page d'erreur que je voudrais appeler à partir de plusieurs pages de mon site. Dans cette page d'erreur, je passe un message (en utilisant l'url pour le moment), mais je voudrais aussi passer un lien vers une page.

La page d'erreur utilisera ce lien pour rediriger l'utilisateur vers la page que je souhaite. J'ai pensé à passer le lien en utilisant des sessions ou en ayant un formulaire (méthode post) avec une entrée cachée. Laquelle est la meilleure ? Y a-t-il un autre moyen de faire cela ?

Merci d'avance !

5voto

rlemon Points 10016

Vous êtes à la recherche de $_SERVER['HTTP_REFERER']; qui est une des variables prédéfinies de PHP $_SERVER...

Plus peut être lu ici

en résumé

HTTP_REFERER

L'adresse de la page (le cas échéant) qui a renvoyé l'agent utilisateur à la page actuelle. Elle est définie par l'agent utilisateur. Tous les agents utilisateurs ne le définissent pas, et certains offrent la possibilité de modifier HTTP_REFERER en tant que fonctionnalité. En bref, on ne peut pas vraiment lui faire confiance.

1voto

kwelch Points 864

Avez-vous essayé $_SERVER['HTTP_REFERER'] .

J'ai lu que ce n'est pas très digne de confiance, mais ça vaut le coup d'essayer.

0voto

Vicky Points 1155

Je pense que vous devez utiliser le référent HTTP...

0voto

web-nomad Points 3632

Vous pouvez essayer cette approche :

Votre dossier normal :

<?php
$_SESSION['message'] = 'your message here';
$_SESSION['redirect_url'] = 'your page url here'; // this will allow you to redirect the user to any url of your choice and not just the referrer.

header('Location: error.php');
?>

error.php :

<?php
echo $_SESSION['message'];
?>
<html>
   <head>
      <meta http-equiv="refresh" content="2;url=<?php echo $_SESSION['redirect_url'];?>">
   </head>
</html>

J'espère que cela vous aidera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X