Comment passer les variables à la page suivante en PHP
Une variable PHP est un symbole ou un nom qui équivaut à une valeur. Elle est utilisée pour stocker des valeurs telles que des valeurs, des caractères ou des adresses mémoire afin qu’elles puissent être utilisées dans n’importe quelle partie du programme. Une simple variable peut être utilisée dans n’importe quelle partie du programme, mais elle n’est pas accessible en dehors de celui-ci, à moins qu’elle ne soit passée par un formulaire HTML, une session ou un cookie, à l’aide de GET
et POST
.
Utilisation de GET
et POST
par le biais d’un formulaire HTML
Le formulaire HTML est l’une des fonctions les plus puissantes du PHP. Tout élément de formulaire sera automatiquement disponible pour la destination action
du formulaire.
Demande POST
<form action="nextPage.php" method="POST">
<input type="text" name="email">
<input type="text" name="username">
<input type="submit" name="submit">
</form>
Récupération des données vers nextPage.php
$username = isset($_POST['username']) ? $_POST['username'] : "";
$email = isset($_POST['email']) ? $_POST['email'] : "";
echo "Username: ".$username;
echo "Email: ".$email;
L’exemple de sortie du script peut être:
Username: johndoe
Email: johndoe@gmail.com
L’exemple ci-dessus montre comment passer une variable en utilisant POST
à travers un formulaire HTML. L’élément de formulaire doit avoir les attributs action
et method
. L’action
contient la page suivante, dans ce cas, il s’agit de nextPage.php
. La méthode peut être un POST
ou un GET
. Vous pouvez alors accéder aux éléments de la nextPage.php
en utilisant un $_POST
ou un $_GET
.
Requête GET
<?php
$phpVariable = "Dog";
?>
<a href="nextPage.php?data=<?=$phpVariable?>">Bring me to nextPage</a>
Cet exemple va créer une variable GET
et peut être accessible sur nextPage.php
.
Exemple:
echo $phpVariable = $_GET['phpVariable'];
//output: Dog
La variable GET est accessible en utilisant $_GET
.
Un autre moyen est d’ajouter un élément caché dans un formulaire HTML qui se soumet à la page suivante.
Exemple:
<form action="nextPage.php" method="POST">
<input type="hidden" name="phpVariable" value="Dog">
<input type="submit" name="submit">
</form>
nextPage.php
//Using POST
$phpVariable = $_POST['phpVariable'];
//Using GET
$phpVariable = $_GET['phpVariable'];
//Using GET, POST or COOKIE;
$phpVariable = $_REQUEST['phpVariable'];
Vous pouvez changer la méthode de POST
à GET
pour utiliser la requête GET
. POST et GET ne sont pas sécurisés par les robots, mais GET est plus facile à pirater car il est disponible par le frontal.
La requête $_REQUEST
peut accepter à la fois GET
, POST
ou COOKIE
. Il est bon d’utiliser $_REQUEST
sur les formulaires d’auto-référence pour les validations.
Utiliser session
et cookie
La session
et le cookie
sont plus faciles à utiliser, mais la session
est beaucoup plus sûre que les cookies, mais pas complètement.
**La session
est plus facile à utiliser.
//page 1
$phpVariable = "Dog";
$_SESSION['animal'] = $phpVariable;
//page 2
$value = $_SESSION['animal'];
session
, souvenez-vous toujours d’ajouter session_start()
sur les deux pages avant d’accéder au tableau $_SESSION
.cookie
//page 1
$phpVariable = "Dog";
$_COOKIE['animal'] = $phpVariable;
//page 2
$value = $_COOKIE['animal'];
La différence la plus évidente entre les cookies
et la session
est que la session
sera stockée du côté serveur alors que les cookies
auront le côté client comme stockage.