Derniers tutoriels de développement web
 

PHP 5 variables globales - Superglobales


Superglobales ont été introduites en PHP 4.1.0 et sont des variables intégrées qui sont toujours disponibles dans tous les champs d'application.


Variables PHP globales - Superglobales

Plusieurs variables prédéfinies en PHP sont "superglobals" , ce qui signifie qu'ils sont toujours accessibles, indépendamment de la portée - et vous pouvez y accéder de toute fonction, classe ou d'un fichier sans avoir à faire quelque chose de spécial.

Les variables du PHP sont:

  • $ GLOBALS
  • $ _SERVER
  • $ _REQUEST
  • $ _POST
  • $ _GET
  • $ _FILES
  • $ _ENV
  • $ _COOKIE
  • $ _SESSION

Ce chapitre vous expliquera quelques-uns des superglobales, et le reste sera expliqué dans les chapitres suivants.


PHP $ GLOBALS

$ GLOBALS est une variable globale super PHP qui est utilisé pour accéder à des variables globales partout dans le script PHP (également à partir de fonctions ou méthodes).

PHP stocke toutes les variables globales dans un tableau appelé $ GLOBALS [ index ]. L'indice contient le nom de la variable.

L'exemple ci-dessous montre comment utiliser le super variable globale GLOBALS de $:

Exemple

<?php
$x = 75;
$y = 25;
 
function addition() {
    $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
 
addition();
echo $z;
?>
»Exécuter exemple

Dans l'exemple ci-dessus, puisque z est une variable présente dans le tableau de GLOBALS de $, il est également accessible depuis l'extérieur de la fonction!


PHP $ _SERVER

$ _SERVER est une variable globale super PHP qui contient des informations sur les en-têtes, les chemins et les emplacements de script.

L'exemple ci-dessous montre comment utiliser certains des éléments _SERVER $:

Exemple

<?php
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>
»Exécuter exemple

Le tableau suivant présente les éléments les plus importants qui peuvent aller à l'intérieur _SERVER $:

Élément / code La description
$ _SERVER [ 'PHP_SELF'] Retourne le nom du fichier du script en cours d'exécution
$ _SERVER [ 'GATEWAY_INTERFACE'] Renvoie la version de Common Gateway Interface (CGI) le serveur utilise
$ _SERVER [ 'SERVER_ADDR'] Renvoie l'adresse IP du serveur hôte
$ _SERVER [ 'SERVER_NAME'] Retourne le nom du serveur hôte (such as www.w3ii.com)
$ _SERVER [ 'SERVER_SOFTWARE'] Renvoie la chaîne d'identification du serveur (such as Apache/2.2.24)
$ _SERVER [ 'SERVER_PROTOCOL'] Retourne le nom et la révision du protocole d'information (such as HTTP/1.1)
$ _SERVER [ 'REQUEST_METHOD'] Renvoie la méthode de requête utilisée pour accéder à la page (such as POST) par (such as POST)
$ _SERVER [ 'REQUEST_TIME'] Renvoie l'horodatage du début de la demande (such as 1377687496) par (such as 1377687496)
$ _SERVER [ 'QUERY_STRING'] Renvoie la chaîne de requête si la page est accessible via une chaîne de requête
$ _SERVER [ 'HTTP_ACCEPT'] Retourne l'en-tête Accept de la requête en cours
$ _SERVER [ 'HTTP_ACCEPT_CHARSET'] Renvoie l'en-tête Accept_Charset de la demande en cours (comme utf-8, ISO-8859-1)
$ _SERVER [ 'HTTP_HOST'] Renvoie l'en-tête de l'hôte de la requête en cours
$ _SERVER [ 'HTTP_REFERER'] Renvoie l'URL complète de la page en cours (pas fiables car tous les agents utilisateurs prennent en charge)
$ _SERVER [ 'HTTPS'] le script est interrogé par un protocole HTTP sécurisé
$ _SERVER [ 'REMOTE_ADDR'] Renvoie l'adresse IP d'où l'utilisateur consulte la page en cours
$ _SERVER [ 'REMOTE_HOST'] Retourne le nom d'hôte à partir duquel l'utilisateur consulte la page en cours
$ _SERVER [ 'REMOTE_PORT'] Renvoie le port utilisé sur la machine de l'utilisateur de communiquer avec le serveur Web
$ _SERVER [ 'SCRIPT_FILENAME'] Retourne le chemin absolu du script en cours d'exécution
$ _SERVER [ 'SERVER_ADMIN'] Renvoie la valeur donnée à la directive SERVER_ADMIN dans le fichier de configuration du serveur Web (si votre script est exécuté sur un hôte virtuel, ce sera la valeur définie pour cet hôte virtuel) (such as [email protected])
$ _SERVER [ 'SERVER_PORT'] Retours de port sur la machine de serveur utilisé par le serveur Web de communication (such as 80) par (such as 80)
$ _SERVER [ 'SERVER_SIGNATURE'] Retourne la version du serveur et le nom d'hôte virtuel, qui sont ajoutés aux pages générées par le serveur
$ _SERVER [ 'PATH_TRANSLATED'] Retourne le chemin en fonction du système de fichiers au script en cours
$ _SERVER [ 'SCRIPT_NAME'] Retourne le chemin du script
$ _SERVER [ 'SCRIPT_URI'] Renvoie l'URI de la page en cours

PHP $ _REQUEST

PHP $ _REQUEST est utilisé pour recueillir des données après avoir soumis un formulaire HTML.

L'exemple ci-dessous montre un formulaire avec un champ de saisie et un bouton d'envoi. Lorsqu'un utilisateur envoie les données en cliquant sur "Submit" , les données de formulaire est envoyé au fichier spécifié dans l' ' action attribut de la balise <form> balise. Dans cet exemple, nous indiquons ce fichier lui-même pour les données de formulaire de traitement. Si vous souhaitez utiliser un autre fichier PHP pour traiter les données de formulaire, remplacer par le nom de votre choix. Ensuite, nous pouvons utiliser la variable globale super _REQUEST de $ pour recueillir la valeur du champ de saisie:

Exemple

<html>
<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
  Name: <input type="text" name="fname">
  <input type="submit">
</form>

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // collect value of input field
    $name = $_REQUEST['fname'];
    if (empty($name)) {
        echo "Name is empty";
    } else {
        echo $name;
    }
}
?>

</body>
</html>
»Exécuter exemple

PHP $ _POST

PHP $ _POST est largement utilisé pour recueillir des données de formulaire après avoir soumis un formulaire HTML avec method = « post ». $ _POST est également largement utilisé pour transmettre des variables.

L'exemple ci-dessous montre un formulaire avec un champ de saisie et un bouton d'envoi. Lorsqu'un utilisateur envoie les données en cliquant sur "Submit" , les données de formulaire est envoyé au fichier spécifié dans l' ' action attribut de la balise <form> balise. Dans cet exemple, nous soulignons le fichier lui-même pour les données de formulaire de traitement. Si vous souhaitez utiliser un autre fichier PHP pour traiter les données de formulaire, remplacer par le nom de votre choix. Ensuite, nous pouvons utiliser la variable globale super $ _POST pour recueillir la valeur du champ de saisie:

Exemple

<html>
<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
  Name: <input type="text" name="fname">
  <input type="submit">
</form>

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // collect value of input field
    $name = $_POST['fname'];
    if (empty($name)) {
        echo "Name is empty";
    } else {
        echo $name;
    }
}
?>

</body>
</html>
»Exécuter exemple

PHP $ _GET

PHP $ _GET peut également être utilisé pour recueillir des données de formulaire après avoir soumis un formulaire HTML avec method = « get ».

$ _GET peut également recueillir des données envoyées dans l'URL.

Supposons que nous avons une page HTML contenant un lien hypertexte avec des paramètres:

<html>
<body>

<a href="test_get.php?subject=PHP&web=w3ii.com">Test $GET</a>

</body>
</html>

Lorsqu'un utilisateur clique sur le lien "Test $GET" , les paramètres "subject" et "web" sont envoyés à "test_get.php" , et vous pouvez alors accéder à leurs valeurs "test_get.php" _GET $.

L'exemple ci - dessous montre le code dans "test_get.php" :

Exemple

<html>
<body>

<?php
echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
?>

</body>
</html>
»Exécuter exemple

Astuce: Vous en apprendrez plus sur $ _POST et $ _GET dans les formulaires PHP chapitre.