English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Le variabili superglobali sono state abilitate a partire da PHP 4.1.0 e sono variabili di sistema nel sistema PHP, disponibili in tutto lo scope di uno script.
PHP ha definito alcuni superglobali (superglobals), il che significa che sono disponibili in tutto lo scope di uno script. Non è necessario specificare particolarmente per utilizzare nelle funzioni e nelle classi.
Elenco delle variabili superglobali PHP:
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
In questa sezione esploreremo alcune variabili superglobali comuni, mentre le altre saranno introdotte nei prossimi capitoli.
$GLOBALS è un gruppo di variabili superglobali di PHP, che possono essere accedute in tutto lo scope di uno script PHP.
$GLOBALS è un array composto globale che contiene tutte le variabili. Il nome della variabile è la chiave dell'array.
Esempio seguente introduce come utilizzare le variabili superglobali $GLOBALS:
<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); echo $z; ?>测试看看 ‹/›
Nell'esempio sopra, z è una variabile superglobale del array $GLOBALS, che può essere acceduta anche al di fuori della funzione.
$_SERVER è un array che contiene informazioni come header (intestazioni), path (percorsi) e posizioni di script (posizioni dei script), tra gli altri. Gli elementi di questo array sono creati dal server Web. Non si può garantire che ogni server fornisca tutti gli elementi; il server potrebbe ignorare alcuni o fornire alcuni non elencati qui.
Esempio seguente mostra come utilizzare gli elementi $_SERVER:
<?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']; ?>测试看看 ‹/›
La tabella sottostante elenca gli elementi importanti delle variabili $_SERVER:
Elemento/Codice | Descrizione |
---|---|
$_SERVER['PHP_SELF'] | Il nome del file dello script in esecuzione, relativo alla root del documento. Ad esempio, utilizzando $_SERVER['PHP_SELF'] in uno script con l'indirizzo http://example.com/test.php/foo.bar si ottiene /test.php/foo.bar. La costante __FILE__ contiene il percorso completo e il nome del file del file corrente (ad esempio, inclusi). A partire dalla versione PHP 4.3.0, se PHP viene eseguito in modalità command line, questa variabile contiene il nome dello script. Nelle versioni precedenti, questa variabile non è disponibile. |
$_SERVER['GATEWAY_INTERFACE'] | La versione della specifica CGI utilizzata dal server; ad esempio, "CGI/1.1". |
$_SERVER['SERVER_ADDR'] | L'indirizzo IP del server in cui si esegue lo script corrente. |
$_SERVER['SERVER_NAME'] | Il nome dell'host del server in cui si esegue lo script corrente. Se lo script viene eseguito in un host virtuale, il nome è determinato dal valore impostato da quell'host virtuale. (ad esempio: it.oldtoolbag.com) |
$_SERVER['SERVER_SOFTWARE'] | La stringa di identificazione del server, fornita nelle intestazioni della risposta quando si risponde alla richiesta. (ad esempio: Apache/2.2.24) |
$_SERVER['SERVER_PROTOCOL'] | Il nome e la versione del protocollo di comunicazione utilizzato per richiedere la pagina. Ad esempio, "HTTP/1.0". |
$_SERVER['REQUEST_METHOD'] | Il metodo di richiesta utilizzato per accedere alla pagina; ad esempio, "GET", "HEAD", "POST", "PUT". |
$_SERVER['REQUEST_TIME'] | Il timestamp all'inizio della richiesta. Disponibile a partire da PHP 5.1.0. (ad esempio: 1377687496) |
$_SERVER['QUERY_STRING'] | La stringa di ricerca (query string), se presente, utilizzata per accedere alle pagine. |
$_SERVER['HTTP_ACCEPT'] | Il contenuto dell'elemento Accept: nella intestazione della richiesta corrente, se esistente. |
$_SERVER['HTTP_ACCEPT_CHARSET'] | Il contenuto dell'elemento Accept-Charset: nella intestazione della richiesta corrente, se esistente. Ad esempio: "iso-8859-1,*,utf-8". |
$_SERVER['HTTP_HOST'] | Il contenuto dell'elemento Host: nella intestazione della richiesta corrente, se esistente. |
$_SERVER['HTTP_REFERER'] | Indica l'indirizzo della pagina precedente dell'user agent che sta navigando la pagina corrente (se esiste). Deciso dalla configurazione dell'user agent. Non tutti gli user agent impostano questa voce, alcuni offrono anche la funzione di modificare HTTP_REFERER. In breve, questo valore non è affidabile.). |
$_SERVER['HTTPS'] | Se lo script viene acceduto tramite il protocollo HTTPS, viene impostato su un valore non vuoto. |
$_SERVER['REMOTE_ADDR'] | L'indirizzo IP dell'utente che sta navigando la pagina corrente. |
$_SERVER['REMOTE_HOST'] | Il nome dell'host del utente che sta navigando la pagina corrente. La risoluzione inversa DNS non dipende da REMOTE_ADDR dell'utente. |
$_SERVER['REMOTE_PORT'] | Il numero di porta utilizzato dal client per connettersi al server web. |
$_SERVER['SCRIPT_FILENAME'] | Il percorso assoluto del script correntemente eseguito. |
$_SERVER['SERVER_ADMIN'] | Questo valore specifica il parametro SERVER_ADMIN del file di configurazione del server Apache. Se lo script viene eseguito su un host virtuale, questo valore è quello dell'host virtuale (ad esempio: [email protected]) |
$_SERVER['SERVER_PORT'] | Il porto utilizzato dal server web. Il valore predefinito è "80". Se si utilizza una connessione sicura SSL, questo valore è il porto HTTP impostato dall'utente. |
$_SERVER['SERVER_SIGNATURE'] | Una stringa che contiene la versione del server e il nome dell'host virtuale. |
$_SERVER['PATH_TRANSLATED'] | Il percorso di base del file system del script corrente (non la directory root del documento). Questo è il risultato dell'immagine virtuale reale effettuata dal server. |
$_SERVER['SCRIPT_NAME'] | Contiene il percorso del script corrente. Questo è molto utile quando la pagina deve puntare a se stessa. La costante __FILE__ contiene il percorso completo e il nome del file del script corrente (ad esempio, file inclusi). |
$_SERVER['SCRIPT_URI'] | URI viene utilizzato per specificare la pagina da visitare. Ad esempio "/index.html". |
PHP $_REQUEST viene utilizzato per raccogliere i dati di invio del modulo HTML.
以下示例显示了一个输入字段(input)及提交按钮(submit)的表单(form)。 当用户通过点击 "Submit" 按钮提交表单数据时,表单数据将发送至<form>标签中 action 属性中指定的脚本文件。 在这个示例中,我们指定文件来处理表单数据。如果你希望其他的PHP文件来处理该数据,你可以修改该指定的脚本文件名。 Poi possiamo utilizzare la variabile globale superiore $_REQUEST per raccogliere i dati dei campi input del modulo:
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];;"> Name: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_REQUEST['fname']; echo $name; ?> </body> </html>测试看看 ‹/›
PHP $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。
以下示例显示了一个输入字段(input)及提交按钮(submit)的表单(form)。 当用户通过点击 "Submit" 按钮提交表单数据时,表单数据将发送至<form>标签中 action 属性中指定的脚本文件。 在这个示例中,我们指定文件来处理表单数据。如果你希望其他的PHP文件来处理该数据,你可以修改该指定的脚本文件名。 然后,我们可以使用超级全局变量 $_POST 来收集表单中的 input 字段数据:
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];;"> Name: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_POST['fname']; echo $name; ?> </body> </html>测试看看 ‹/›
PHP $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。
$_GET 也可以收集URL中发送的数据。
假定我们有一个包含参数的超链接HTML页面:
<html> <body> <a href="test_get.php?subject=PHP&web=oldtoolbag.com">Test $GET</a> </body> </html>
当用户点击链接 "Test $GET",参数 "subject" 和 "web" 将发送至"test_get.php",你可以在 "test_get.php" 文件中使用 $_GET 变量来获取这些数据。
以下示例显示了 "test_get.php" 文件的代码:
<html> <body> <?php echo "Studio" . $_GET['subject'] . " @ " . $_GET['web']; ?> </body> </html>测试看看 ‹/›
提示: 你如果想学习更多关于 $_POST 和 $_GET 的知识,请访问我们的 PHP 表单 章节。