Les super globales PHP sont des variables intégrées accessibles depuis toutes les étendues.
PHP Super Globals (PHP Super Globals)
Dans cette leçon, nous expliquerons toutes les super globales en PHP avec des exemples. Lisez la suite pour le découvrir.
PHP Super Globals : $GLOBALS
Le superglobal $GLOBALS est utilisé pour accéder aux variables globales à partir de n'importe quel champ (y compris les fonctions ou méthodes) du script PHP. PHP stocke toutes les variables globales dans un tableau appelé $GLOBALS[index]. L'index contient le nom de la variable. L'exemple suivant montre comment utiliser la variable superglobale $GLOBALS :
$number1 = 50;
$number2 = 20;
function addition(): int
{
return $GLOBALS[ 'number3' ] = $GLOBALS[ 'number2' ] + $GLOBALS[ 'number1' ];
}
echo addition();
// Çıktı: 70PHP Super Global : $_REQUEST
PHP $_REQUEST est un superglobal PHP utilisé pour collecter des données à partir d'un formulaire HTML.
<!DOCTYPE html>
<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') {
// input elementinden gelen veriyi değişkene ata
$name = htmlspecialchars($_REQUEST[ 'fname' ]);
if (empty($name)) {
echo 'Ad yok';
} else {
echo $name;
}
}
?>
</body>
</html>Dans l'exemple ci-dessus, nous avons créé un formulaire qui renvoie des données avec la méthode post. Nous lui avons permis de renvoyer les données sur la même page avec $_SERVER['PHP_SELF']. Nous avons vérifié que la requête accompagnant le superglobal $_SERVER['REQUEST_METHOD'] est une requête de publication. Ensuite, nous avons attribué en toute sécurité les données de l'entrée nommée fname avec la valeur name à la variable $name avec le superglobal $_REQUEST à l'aide de la fonction htmlspecialchars(). Nous avons vérifié si la variable $name est vide ou non avec la condition PHP if. S'il est vide, nous imprimons la sortie "No name", sinon nous imprimons les données de la variable $name.
PHP Super Global : $_POST
PHP $_POST est un superglobal PHP utilisé pour collecter les données du formulaire HTML via la méthode POST.
<!DOCTYPE html>
<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') {
// input elementinden gelen veriyi değişkene ata
$name = htmlspecialchars($_POST[ 'fname' ]);
if (empty($name)) {
echo 'Ad yok';
} else {
echo $name;
}
}
?>
</body>
</html>Dans l'exemple ci-dessus, nous avons créé un formulaire qui renvoie des données avec la méthode post. Nous lui avons permis de renvoyer les données sur la même page avec $_SERVER['PHP_SELF']. Nous avons vérifié que la requête accompagnant le superglobal $_SERVER['REQUEST_METHOD'] est une requête de publication. Ensuite, nous avons attribué en toute sécurité les données de l'entrée nommée fname avec la valeur name à la variable $name avec le superglobal $_POST à l'aide de la fonction htmlspecialchars(). Nous avons vérifié si la variable $name est vide ou non avec la condition PHP if. S'il est vide, nous imprimons la sortie "No name", sinon nous imprimons les données de la variable $name.
PHP Super Global : $_GET
PHP $_GET est un superglobal PHP utilisé pour collecter les données du formulaire HTML via la méthode GET. On peut aussi récupérer les données envoyées avec get dans l'url avec le superglobal $_GET.
Obtenir des données à partir d'un formulaire avec PHP $_GET Super Global
Dans l'exemple ci-dessous, nous avons reçu des données du formulaire HTML avec le superglobal PHP $_GET.
<!DOCTYPE html>
<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' ] === 'GET') {
// input elementinden gelen veriyi değişkene ata
$name = htmlspecialchars($_GET[ 'fname' ]);
if (empty($name)) {
echo 'Ad yok';
} else {
echo $name;
}
}
?>
</body>
</html>Dans l'exemple ci-dessus, nous avons créé un formulaire qui renvoie des données avec la méthode post. Nous lui avons permis de renvoyer les données sur la même page avec $_SERVER['PHP_SELF']. Nous avons vérifié que la requête accompagnant le superglobal $_SERVER['REQUEST_METHOD'] est une requête de publication. Ensuite, nous avons attribué en toute sécurité les données de l'entrée nommée fname avec la valeur name à la variable $name avec le superglobal $_POST à l'aide de la fonction htmlspecialchars(). Nous avons vérifié si la variable $name est vide ou non avec la condition PHP if. S'il est vide, nous imprimons la sortie "No name", sinon nous imprimons les données de la variable $name.
Obtenir des données à partir d'une URL avec PHP $_GET Super Global
Dans l'exemple ci-dessous, nous avons récupéré les données de l'URL avec le superglobal PHP $_GET.
<!DOCTYPE html>
<html>
<body>
<a href="<?php
echo $_SERVER[ 'PHP_SELF' ] ?>?name=Onur%20Özden&website=www.onurozden.com.tr">Buraya Tıkla</a>
<?php
echo "Ben " . $_GET[ 'name' ] . " şu sitede PHP öğreniyorum: " . $_GET[ 'website' ];
?>
</body>
</html>Dans l'exemple ci-dessus, au lieu de taper le nom de votre fichier, nous avons obtenu le nom du fichier en utilisant le superglobal $_SERVER. Expliquons maintenant ce que nous avons fait dans cet exemple. Nous avons créé un document HTML et donné le paramètre name au fichier get.php. Nous avons donné au paramètre name la valeur "Onur Özden" et séparé les paramètres par le signe '&'. Ensuite, nous avons créé le paramètre website et lui avons donné la valeur "onurozden.com.tr". Nous avons imprimé le texte "Cliquez ici" sur l'étiquette A. En ce qui concerne la partie PHP, nous avons imprimé "Mon nom" avec echo et utilisé le superglobal $_GET avec l'opérateur de concaténation pour récupérer et imprimer les données du paramètre nommé nom. Encore une fois, en utilisant l'opérateur de fusion, nous avons imprimé " et mon site Web ". Nous avons de nouveau utilisé l'opérateur de concaténation et obtenu les données du paramètre du site Web avec le superglobal $GET et les avons imprimées.
PHP Super Global : $_SERVER
La variable superglobale $_SERVER est une variable superglobale PHP qui contient des informations sur les en-têtes, les chemins et les emplacements des scripts. Dans l'exemple ci-dessous, nous montrons comment utiliser le superglobal $_SERVER.
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'];Dans l'exemple ci-dessus, nous avons défini des variables nommées $number1 et $number2 et leur avons donné des valeurs de type number. Ensuite, nous avons défini une fonction appelée addition qui renvoie une valeur de type de données int. Nous avons dit que dans le superglobal $GLOBALS, les noms des variables sont conservés sous forme d'index. Nous avons créé la variable en créant un index nommé number3. Nous avons attribué à cette variable la somme de la variable $number2 et de la variable $number1, auxquelles nous avons accédé depuis la zone globale avec le superglobal $GLOBALS. Nous avons ensuite renvoyé cette valeur avec return et terminé la fonction. Comme dernière étape, nous affichons la valeur dans notre fonction addition() avec echo.
Toutes les utilisations de PHP $_SERVER Super Global
| $_SERVEUR['PHP_SELF'] | Renvoie le nom de fichier du script exécuté. |
| $_SERVEUR['GATEWAY_INTERFACE'] | Renvoie la version CGI (Common Gateway Interface) utilisée par le serveur. |
| $_SERVEUR['SERVER_ADDR'] | Renvoie l'adresse IP du serveur hôte. |
| $_SERVEUR['SERVEUR_NAME'] | Renvoie le nom du serveur principal. |
| $_SERVEUR['SERVER_SOFTWARE'] | Renvoie le texte d'identification du serveur (tel qu'Apache/2.2.24). |
| $_SERVEUR['SERVEUR_PROTOCOL'] | Renvoie le nom et la version du protocole d'information (tel que HTTP/1.1). |
| $_SERVEUR['REQUEST_METHOD'] | Renvoie la méthode de requête utilisée pour accéder à la page (telle que POST, GET). |
| $_SERVEUR['REQUEST_TIME'] | Renvoie l'horodatage du début de la requête (par exemple 1377687496). |
| $_SERVEUR['QUERY_STRING'] | Si la page est accessible via une chaîne de requête, elle renvoie la chaîne de requête. |
| $_SERVEUR['HTTP_ACCEPT'] | Renvoie l'en-tête d'acceptation de la requête actuelle. |
| $_SERVEUR['HTTP_ACCEPT_CHARSET'] | Renvoie l'en-tête Accept_Charset de la requête actuelle (telle que utf-8,ISO-8859-1). |
| $_SERVEUR['HTTP_HOST'] | Renvoie l'en-tête d'hôte de la requête actuelle. |
| $_SERVEUR['HTTP_REFERER'] | Renvoie l'URL complète de la page actuelle (pas fiable car tous les agents utilisateurs ne la prennent pas en charge). |
| $_SERVEUR['HTTPS'] | Vérifie si le script est interrogé via un protocole HTTP sécurisé (HTTPS). |
| $_SERVEUR['REMOTE_ADDR'] | Renvoie l'adresse IP à partir de laquelle l'utilisateur consulte la page actuelle. |
| $_SERVEUR['REMOTE_HOST'] | Renvoie le nom d'hôte à partir duquel l'utilisateur consulte la page actuelle. |
| $_SERVEUR['REMOTE_PORT'] | Renvoie le port utilisé sur la machine de l'utilisateur pour communiquer avec le serveur Web. |
| $_SERVEUR['SCRIPT_FILENAME'] | Renvoie le chemin absolu du script en cours d'exécution. |
| $_SERVEUR['SERVER_ADMIN'] | Renvoie la valeur donnée à la directive SERVER_ADMIN dans le fichier de configuration du serveur Web (si votre script s'exécute sur un hôte virtuel, ce sera la valeur définie pour cet hôte virtuel) (comme some@onurozden.com.tr). |
| $_SERVEUR['SERVEUR_PORT'] | Renvoie le port sur la machine serveur utilisée par le serveur Web pour la communication (par exemple 80). |
| $_SERVEUR['SERVER_SIGNATURE'] | Renvoie la version du serveur et le nom d'hôte virtuel ajoutés à la page générée par le serveur. |
| $_SERVEUR['PATH_TRANSLATED'] | Renvoie le chemin basé sur le système de fichiers vers le script actuel. |
| $_SERVEUR['SCRIPT_FILENAME'] | Renvoie le chemin d'accès au script actuel. |
| $_SERVEUR['SCRIPT_URI'] | Renvoie l'URI de la page actuelle. |



