Les tableaux prédéfinis de PHP : Superglobales

Les Superglobales de PHP

Ce sont des tableaux concernant pour l’essentiel le protocole HTTP ou la gestion de Cookies ou des Sessions.

  • $_GET[ ], $_POST[ ] ou $_REQUEST[ ] qui englobe les 2

  • $_SERVER[ ] : Variables décrivant le client ou la page courante

  • $_GLOBALS[ ] variables globales

  • $_COOKIE[ ] pour les cookies

  • $_SESSION[ ] pour les sessions

Exemple récupération de $_SERVER[ ] grâce à la fonction getenv():

<?php
function infos(){
  $env = array('remote_addr','http_accept_language','http_host',
  'http_user_agent','script_filename','server_addr',
  'server_name','server_signature','server_software',
  'request_method','query_string','request_uri','script_name');

  // Construction d'un tableau associatif
  // Avec les valeurs lues dans l'environnement
  $retour =array();
  foreach ($env as $clef) $retour[$clef] = getenv($clef);
  return $retour;
}

echo("Voici les infos disponibles:<BR>");
$tab = infos();
foreach ($tab as $clef=>$val) echo $clef." :".$val."<br>\n";

Résultat

Voici les infos disponibles:
remote_addr :::1
http_accept_language :fr-fr
http_host :localhost
http_user_agent :Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; fr-fr)
AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5
script_filename :/Users/roza/Sites/php/exemples/infospy.php
server_addr :::1
server_name :localhost
server_signature :
server_software :Apache/2.2.14 (Unix) mod_ssl/2.2.14
OpenSSL/0.9.8l DAV/2 PHP/5.3.2
request_method :GET
query_string :
request_uri :/~roza/php/exemples/infospy.php
script_name :/~roza/php/exemples/infospy.php
`User-Agent <http://localhost/~roza/php/exemples/infospy.php>`_

Exécution