Variables Locales, Globales et Superglobales
Variables Locales :
Ces variables sont des éléments clés à l'intérieur de fonctions en PHP. Elles sont déclarées à l'intérieur de la fonction et ne sont accessibles que dans cette portion de code spécifique. En dehors de la fonction, ces variables sont hors de portée et ne peuvent pas être utilisées.
function gainannuel($gainParMois)
{
$nombreDeMois=12;
$total = $gainParMois * $nombreDeMois;
echo $total;
}
gainannuel(1500);
Variables Globales :
Les variables globales sont accessibles partout dans une page. Cependant, pour les utiliser au sein d'une fonction, il est nécessaire d'utiliser le mot-clé `global` suivi du nom de la variable. Les variables globales sont pratiques pour partager des données entre différentes parties d'une page.
$name="Appolon Guy Alain";
echo "Je suis ".$name;
Superglobales :
Les superglobales en PHP sont des variables spéciales pré-définies qui peuvent être utilisées pour transmettre des données d'une page à une autre, ou même au sein de la même page, permettant ainsi de faire circuler des informations importantes entre différents segments de votre application. Elles jouent un rôle essentiel dans la communication et l'échange de données entre le client et le serveur. Ces variables superglobales sont disponibles dans tous les scripts PHP sans nécessiter de déclaration explicite.
Voici quelques exemples de superglobales couramment utilisées et leur rôle dans la circulation des données :
$_GET :
Elle permet de récupérer des données envoyées via la méthode GET dans l'URL. Ces données sont généralement utilisées pour effectuer des recherches, des filtres ou pour transmettre des paramètres entre les pages.
// URL : http://exemple.com/index.php?nom=Appolon&age=25
$nom = $_GET['nom'];
$age = $_GET['age'];
echo "Bonjour je suis ".$nom.", j'ai ".$age." ans.";
Affiche : Bonjour je suis Appolon, j'ai 25 ans.
Autre exemple
Supposons que vous ayez un lien avec des paramètres dans l'URL :
<a href="profil.php?utilisateur=Jean&&email=jean@gmail.com&&phone=34637382">Voir le profil</a>
Dans le fichier profil.php, vous pouvez récupérer les paramètres à l'aide de la superglobale $_GET :
$utilisateur=$_GET['utilisateur'];
$email=$_GET['email'];
$phone=$_GET['phone'];
echo "Name : ".$utilisateur." <br /> Email : ".$email." <br /> Phone : ".$phone;
$_POST :
Cette superglobale est utilisée pour récupérer des données envoyées via la méthode POST, généralement à partir de formulaires HTML. Elle est utile pour collecter des informations confidentielles ou des données de taille importante.
Supposons que vous ayez un formulaire HTML comme ceci :
<form method="POST" action="traitement.php">
<input type="text" name="nom" />
<input type="submit" value="Envoyer" name="envoyer" />
</form>
Dans le fichier traitement.php, vous pouvez accéder aux données du formulaire envoyées via la superglobale $_POST :
if(isset($_POST['envoyer'])) {
$nom = $_POST['nom'];
echo "Bonjour, Bienvenue ".$nom;
}
$_SESSION :
La superglobale $_SESSION est employée pour stocker des variables de session, qui sont utilisées pour maintenir des informations spécifiques à un utilisateur entre différentes pages. Cela permet de garder une trace de l'état de l'utilisateur tout au long de sa navigation.
Exemple d'utilisation de la superglobale $_SESSION :
<form method="POST" action="traitement.php">
<input type="text" name="nom" />
<input type="submit" value="Envoyer" name="envoyer" />
</form>
Dans le fichier traitement.php
if(isset($_POST['envoyer'])) {
$_SESSION['nom'] = $_POST['nom'];
echo "Utilisateur connecté ".$_SESSION['nom'];
}
NB : vous devez d'abord appeler la fonction session_start() au début de votre script PHP, avant tout code HTML ou sortie de contenu. Cette fonction initialise la session et permet à PHP de gérer les variables de session pour l'utilisateur en cours.
$_COOKIE :
$_COOKIE est utilisée pour accéder aux cookies stockés dans le navigateur de l'utilisateur. Les cookies sont de petites données persistantes qui peuvent être utilisées pour garder en mémoire certaines informations entre les sessions.
Ces superglobales offrent un moyen efficace et pratique de faire circuler des données entre différentes parties de votre application, que ce soit pour personnaliser le contenu affiché, gérer l'état de l'utilisateur ou permettre une interaction dynamique entre l'utilisateur et le serveur. Cependant, il est important d'utiliser ces superglobales de manière sécurisée en validant et en filtrant les données reçues pour éviter les failles de sécurité.