Retour à la page précédente en PHP
Cet article présentera quelques méthodes pour revenir à la page précédente en PHP.
Utilisez l’en-tête de requête HTTP_REFERER
pour revenir à la page précédente en PHP
L’en-tête de requête HTTP_REFERER
renvoie l’URL de la page à partir de laquelle la page courante a été demandée en PHP. L’en-tête permet au serveur de reconnaître l’emplacement à partir duquel les utilisateurs visitent la page en cours. L’en-tête est utilisé comme index du tableau $_SERVER
. On peut utiliser la fonction header()
avec l’entête location
pour rediriger la page courante vers la page précédente. Nous devrions définir location
sur $SERVER['HTTP_REFERER']
pour revenir à la page précédente.
Voyons comment fonctionne l’en-tête HTTP_REFERER
. Par exemple, créez un bouton en HTML. Définissez l’attribut action
sur home.php
et l’attribut method
sur post
. Enregistrez le fichier sous index.php
. Dans le fichier home.php
, vérifiez si le formulaire est soumis avec la fonction isset()
. Ensuite, utilisez la fonction echo
pour afficher l’en-tête $_SERVER[HTTP_REFERER]
.
Exemple de code :
<form action ="home.php" method = "POST">
<button type="submit" name="button"> Submit</button>
</form>
if(isset($_POST['button'])){
echo $_SERVER[HTTP_REFERER];
}
Production :
http://localhost/index.php
Ici, nous avons créé le formulaire dans le fichier index.php
. Ensuite, le formulaire est soumis au fichier home.php
. Cela signifie que la page home.php
a été demandée à partir de la page index.php
. La page index.php
est donc le référent. La section de sortie ci-dessus montre que le HTTP_REFERER
renvoie l’URL http://localhost/index.php
, le référent.
Notre but est de rediriger la page courante home.php
vers la page précédente index.php
.
Par exemple, dans le fichier home.php
, créez une variable $message
pour stocker le message à afficher après la redirection. Utilisez le urlencode()
pour écrire le message dans son paramètre. Ensuite, écrivez la fonction header()
pour définir l’emplacement de la redirection. Concaténez $_SERVER[HTTP_REFERER]
et "?message=".$message
et définissez-le comme valeur pour location
dans la fonction header()
. Appelez ensuite la fonction die
. Dans le fichier index.php
, imprimez la variable $_GET['message']
juste en dessous du formulaire à l’aide de la fonction echo
.
Ici, nous avons utilisé la fonction urlencode()
pour écrire le message car le message est une chaîne qui est interrogée dans l’URL. L’index message
dans le tableau $_GET
est la variable que nous avons utilisée dans l’URL faisant référence à la page précédente dans la fonction header()
.
Lorsque nous cliquons sur le bouton de la page index.php
, le formulaire est soumis à home.php
et redirige vers la page index.php
, la page précédente.
De cette façon, nous pouvons utiliser la fonction header()
et l’en-tête HTTP_REFERER
pour retourner la page en cours à la page précédente en PHP.
Exemple de code :
//index.php
<form action ="home.php" method = "POST">
<button type="submit" name="button"> Submit</button>
</form>
<?php
if(isset($_GET['message'])){
echo $_GET['message'];
}
?>
//home.php
if(isset($_POST['button'])){
$message = urlencode("After clicking the button, the form will submit to home.php. When, the page home.php loads, the previous page index.php is redirected. ");
header("Location:".$_SERVER[HTTP_REFERER]."?message=".$message);
die;
}
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn