Résumé
Les variables globales mentionnées dans le chapitre précédent ne peuvent pas être référencées à l'intérieur de la fonction, mais les super variables globales peuvent l'être
Les variables super globales sont activées après PHP 4.1.0. Ce sont des variables fournies avec le système PHP et disponibles dans toute la portée d'un script.
1. Variables super globales PHP
Plusieurs variables super globales (superglobales) sont prédéfinies en PHP, ce qui signifie qu'elles sont disponibles. dans toute la portée d'un script. Vous pouvez l'utiliser dans des fonctions et des classes sans instructions particulières.
Liste des super variables globales PHP :
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
Dans ce chapitre, nous expliquerons plusieurs variables super globales couramment utilisées, et nous présenterons les variables restantes dans les prochains chapitres.
2. PHP $GLOBALS
$GLOBALS est un groupe de variables super globales de PHP, qui a toutes les fonctions d'un Script PHP Il est accessible dans tous les domaines.
$GLOBALS est un tableau combiné global contenant toutes les variables. Le nom de la variable est la clé du tableau.
L'exemple suivant présente comment utiliser la variable super globale $GLOBALS
Le code est le suivant
<?php //定义两个全局变量,函数内部不可以访问 $x = 75; $y = 25; //定义函数 function addition() { //将全局变量变为超级全局变量,这样在函数内部就可以正常访问了 $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } //调用函数 addition(); //输出函数内部定义的全局变量 echo $z; ?>
Remarque : dans l'exemple ci-dessus, z est une variable super globale dans le tableau $GLOBALS, les variables sont également accessibles en dehors de la fonction
3 PHP $_SERVER
$_SERVER est un. fichier contenant des informations d'en-tête telles que ), le chemin et un tableau d'informations telles que les emplacements de script. Les éléments de ce tableau sont créés par le serveur Web. Il n'y a aucune garantie que chaque serveur proposera tous les éléments ; les serveurs peuvent en ignorer certains ou servir des éléments non répertoriés ici.
L'exemple suivant montre comment utiliser des éléments dans $_SERVER :
L'exemple de code est le suivant :
<?php //输出当前脚步的文件名 echo "<h3>输出当前脚步的文件名</h3>"; echo $_SERVER['PHP_SELF']; echo "<hr/>"; //当前脚步所在服务器的主机名 echo "<h3>当前脚步所在服务器的主机名</h3>"; echo $_SERVER['SERVER_NAME']; echo "<hr/>"; //当前请求头中 Host echo "<h3>当前请求头中 Host</h3>"; echo $_SERVER['HTTP_HOST']; echo "<hr/>"; //引导用户代理到当前页的前一页的地址(如果存在) echo "<h3>引导用户代理到当前页的前一页的地址(如果存在)</h3>"; echo $_SERVER['HTTP_REFERER']; echo "<hr/>"; //用来检查浏览页面的访问者在用什么操作系统 echo "<h3>用来检查浏览页面的访问者在用什么操作系统</h3>"; echo $_SERVER['HTTP_USER_AGENT']; echo "<hr/>"; //包含当前脚本的路径 echo "<h3>包含当前脚本的路径</h3>"; echo $_SERVER['SCRIPT_NAME']; ?>
Les éléments plus importants de la variable $_SERVER sont affichés dans le tableau ci-dessous :
4. PHP $_GET
PHP $_GET est largement utilisé. lors de la collecte des données des formulaires, spécifiez cet attribut dans la balise du formulaire HTML : "method="get".
$_GET peut également collecter les données envoyées dans l'URL.
Supposons que nous ayons un lien hypertexte contenant Page HTML des paramètres :
<html> <body> <!--创建个连接,连接到12_7.php,并且传过去两个值--> <a href="test.php?subject=PHP&web=php.cn">点击,利用GET方式传值</a> </body> </html>
Lorsque l'utilisateur clique sur le lien "Cliquez, utilisez la méthode GET pour passer la valeur", les paramètres "sujet" et "web" seront envoyés à "test.php", vous pourrez utilisez le fichier "test.php" Utilisez la variable $_GET dans
L'exemple suivant montre le code du fichier "test.php":
<html> <body> <!-- 接收12_6.php传来的值 --> <?php echo "Study " . $_GET['subject'] . " at " . $_GET['web']; ?> </body> </html>
5. PHP $_POST
$_POST est identique à $_GET , est utilisé pour collecter les données du formulaire, précisez cet attribut dans la balise HTML form : "method="post".
L'exemple suivant montre un formulaire avec un champ de saisie (input) et un bouton de soumission ( soumettre) ). Lorsque l'utilisateur soumet les données du formulaire en cliquant sur le bouton "Soumettre", les données du formulaire seront envoyées au fichier de script spécifié dans l'attribut d'action de la balise <form> pour traiter les données du formulaire. Utilisez d'autres fichiers PHP pour traiter les données. Vous pouvez modifier le nom du fichier de script spécifié. Ensuite, nous pouvons utiliser la super variable globale $_POST pour collecter les données du champ de saisie dans le formulaire :
<🎜. >L'exemple de code est le suivant :<html> <body> <!-- 定义一个表单,提交一个值至当前页面 --> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Name: <input type="text" name="fname"> <input type="submit"> </form> <!-- 利用$_POST,输出传来的值 --> <?php $name = $_POST['fname']; echo $name; ?> </body> </html>
Remarque : étant donné que cette soumission est soumise à la page actuelle, la variable fname sera affichée comme non définie après le chargement de la page. il disparaîtra
6. PHP $_REQUEST est utilisé pour collecter du HTML Les données soumises par le formulaire peuvent être collectées via les méthodes de soumission POST et GET
L'exemple suivant montre un formulaire avec un champ de saisie (input) et. un bouton de soumission (soumettre). Lorsque les données du formulaire sont soumises en cliquant sur le bouton "Soumettre", les données du formulaire seront envoyées au fichier de script spécifié dans l'attribut d'action de la balise <form> le fichier pour traiter les données du formulaire si vous le souhaitez. Pour traiter ces données, vous pouvez modifier le nom du fichier de script spécifié. Ensuite, nous pouvons utiliser la super variable globale $_REQUEST pour collecter les données du champ de saisie dans le formulaire :.
Le code est le suivant :<html> <body> <!-- 定义一个表单,提交一个值至当前页面 --> <form method="post" action=""> Name: <input type="text" name="fname"> <input type="submit"> </form> <!-- 利用$__REQUEST,输出传来的值 --> <?php $name = $_REQUEST['fname']; echo $name; ?> </body> </html>
Remarque : La raison pour laquelle fname n'est pas défini est la même que $_POST ci-dessus
Expérience d'apprentissage :
Il n'est pas nécessaire de mémoriser toutes certaines variables super globales, il suffit de consulter le manuel en cas de besoin
Les différences entre $_GET, $_POST et $_REQUEST sera présenté en détail dans les chapitres suivants
section suivante