Le super globali PHP sono variabili integrate a cui è possibile accedere da tutti gli ambiti.
PHP Super Globali (PHP Super Globali)
In questa lezione spiegheremo tutti i superglobali in PHP con esempi. Continua a leggere per scoprirlo.
PHP Super Globali: $GLOBALS
Il superglobale $GLOBALS viene utilizzato per accedere alle variabili globali da qualsiasi campo (incluse funzioni o metodi) nello script PHP. PHP memorizza tutte le variabili globali in un array chiamato $GLOBALS[indice]. L'indice contiene il nome della variabile. L'esempio seguente mostra come utilizzare la variabile superglobale $GLOBALS:
$number1 = 50;
$number2 = 20;
function addition(): int
{
return $GLOBALS[ 'number3' ] = $GLOBALS[ 'number2' ] + $GLOBALS[ 'number1' ];
}
echo addition();
// Çıktı: 70PHP Super Globali: $_REQUEST
PHP $_REQUEST è PHP superglobale utilizzato per raccogliere dati dal modulo 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>Nell'esempio sopra abbiamo creato un modulo che restituisce dati con il metodo post. Lo abbiamo abilitato per restituire i dati sulla stessa pagina con $_SERVER['PHP_SELF']. Abbiamo verificato che la richiesta in arrivo con il superglobale $_SERVER['REQUEST_METHOD'] è una richiesta post. Quindi, abbiamo assegnato in modo sicuro i dati dall'input denominato fname con il valore name alla variabile $name con il superglobale $_REQUEST utilizzando la funzione htmlspecialchars(). Abbiamo controllato se la variabile $name è vuota o meno con la condizione if di PHP. Se è vuoto stampiamo l'output "No name", altrimenti stampiamo i dati della variabile $name.
PHP Super Globali: $_POST
PHP $_POST è un superglobale PHP utilizzato per raccogliere dati dal modulo HTML tramite il metodo 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>Nell'esempio sopra abbiamo creato un modulo che restituisce dati con il metodo post. Lo abbiamo abilitato per restituire i dati sulla stessa pagina con $_SERVER['PHP_SELF']. Abbiamo verificato che la richiesta in arrivo con il superglobale $_SERVER['REQUEST_METHOD'] è una richiesta post. Quindi, abbiamo assegnato in modo sicuro i dati dall'input denominato fname con il valore name alla variabile $name con il superglobale $_POST utilizzando la funzione htmlspecialchars(). Abbiamo controllato se la variabile $name è vuota o meno con la condizione if di PHP. Se è vuoto stampiamo l'output "No name", altrimenti stampiamo i dati della variabile $name.
PHP Super Globali: $_GET
PHP $_GET è un superglobale PHP utilizzato per raccogliere dati dal modulo HTML tramite il metodo GET. Possiamo anche recuperare i dati inviati con get in the url con il superglobale $_GET.
Ottenere dati dal modulo con PHP $_GET Super Global
Nell'esempio seguente, abbiamo ricevuto i dati dal modulo HTML con il superglobale 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>Nell'esempio sopra abbiamo creato un modulo che restituisce dati con il metodo post. Lo abbiamo abilitato per restituire i dati sulla stessa pagina con $_SERVER['PHP_SELF']. Abbiamo verificato che la richiesta in arrivo con il superglobale $_SERVER['REQUEST_METHOD'] è una richiesta post. Quindi, abbiamo assegnato in modo sicuro i dati dall'input denominato fname con il valore name alla variabile $name con il superglobale $_POST utilizzando la funzione htmlspecialchars(). Abbiamo controllato se la variabile $name è vuota o meno con la condizione if di PHP. Se è vuoto stampiamo l'output "No name", altrimenti stampiamo i dati della variabile $name.
Ottenere dati dall'URL con PHP $_GET Super Global
Nell'esempio seguente, abbiamo recuperato i dati dall'URL con il superglobale 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>Nell'esempio sopra, invece di digitare il nome del file, abbiamo ottenuto il nome del file utilizzando il superglobale $_SERVER. Ora spieghiamo cosa abbiamo fatto in questo esempio. Abbiamo creato un documento HTML e abbiamo fornito il parametro name al file get.php. Abbiamo dato al parametro del nome il valore "Onur Özden" e separato i parametri con il segno '&'. Successivamente abbiamo creato il parametro del sito web e gli abbiamo assegnato il valore "onurozden.com.tr". Abbiamo stampato il testo "Click Here" sull'etichetta A. Venendo alla parte PHP, abbiamo stampato "My name" con echo e utilizzato il superglobale $_GET con l'operatore di concatenazione per recuperare e stampare i dati del parametro denominato name. Ancora una volta, utilizzando l'operatore merge, abbiamo stampato " e il mio sito web ". Abbiamo utilizzato nuovamente l'operatore di concatenazione, abbiamo ottenuto i dati del parametro del sito Web con il superglobale $GET e li abbiamo stampati.
PHP Super Globali: $_SERVER
La variabile superglobale $_SERVER è una variabile superglobale PHP che contiene informazioni su intestazioni, percorsi e posizioni degli script. Nell'esempio seguente, mostriamo come utilizzare il superglobale $_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'];Nell'esempio sopra, abbiamo definito le variabili denominate $numero1 e $numero2 e abbiamo assegnato loro valori di tipo numero. Quindi, abbiamo definito una funzione chiamata addizione che restituisce un valore di tipo dati int. Abbiamo detto che nel superglobale $GLOBALS i nomi delle variabili vengono mantenuti come indici. Abbiamo creato la variabile creando un indice denominato numero3. Abbiamo assegnato a questa variabile la somma della variabile $number2 e della variabile $number1, a cui abbiamo avuto accesso dall'area globale con il superglobale $GLOBALS. Abbiamo quindi restituito questo valore con return e terminato la funzione. Come ultimo passaggio, restituiamo il valore nella nostra funzione addizione() con echo.
Tutti gli usi di PHP $_SERVER Super Global
| $_SERVER['PHP_SELF'] | Restituisce il nome del file dello script eseguito. |
| $_SERVER['GATEWAY_INTERFACE'] | Restituisce la versione CGI (Common Gateway Interface) utilizzata dal server. |
| $_SERVER['SERVER_ADDR'] | Restituisce l'indirizzo IP del server host. |
| $_SERVER['NOME_SERVER'] | Restituisce il nome del server principale. |
| $_SERVER['SERVER_SOFTWARE'] | Restituisce il testo di identificazione del server (come Apache/2.2.24). |
| $_SERVER['SERVER_PROTOCOL'] | Restituisce il nome e la versione del protocollo informativo (come HTTP/1.1). |
| $_SERVER['REQUEST_METHOD'] | Restituisce il metodo di richiesta utilizzato per accedere alla pagina (come POST, GET). |
| $_SERVER['REQUEST_TIME'] | Restituisce il timestamp dell'inizio della richiesta (es. 1377687496). |
| $_SERVER['QUERY_STRING'] | Se si accede alla pagina tramite una stringa di query, restituisce la stringa di query. |
| $_SERVER['HTTP_ACCEPT'] | Restituisce l'intestazione di accettazione dalla richiesta corrente. |
| $_SERVER['HTTP_ACCEPT_CHARSET'] | Restituisce l'intestazione Accept_Charset dalla richiesta corrente (come utf-8,ISO-8859-1). |
| $_SERVER['HTTP_HOST'] | Restituisce l'intestazione host dalla richiesta corrente. |
| $_SERVER['HTTP_REFERER'] | Restituisce l'URL completo della pagina corrente (non affidabile in quanto non tutti gli user agent lo supportano). |
| $_SERVER['HTTPS'] | Controlla se lo script viene interrogato tramite un protocollo HTTP sicuro (HTTPS). |
| $_SERVER['REMOTE_ADDR'] | Restituisce l'indirizzo IP da cui l'utente sta visualizzando la pagina corrente. |
| $_SERVER['REMOTE_HOST'] | Restituisce il nome host da cui l'utente sta visualizzando la pagina corrente. |
| $_SERVER['REMOTE_PORT'] | Restituisce la porta utilizzata sul computer dell'utente per comunicare con il server web. |
| $_SERVER['SCRIPT_FILENAME'] | Restituisce il percorso assoluto dello script attualmente in esecuzione. |
| $_SERVER['SERVER_ADMIN'] | Restituisce il valore fornito alla direttiva SERVER_ADMIN nel file di configurazione del server web (se lo script è in esecuzione su un host virtuale, sarà il valore definito per quell'host virtuale) (come some@onurozden.com.tr). |
| $_SERVER['SERVER_PORT'] | Restituisce la porta sulla macchina server utilizzata dal server web per la comunicazione (ad esempio 80). |
| $_SERVER['SERVER_SIGNATURE'] | Restituisce la versione del server e il nome host virtuale aggiunti alla pagina generata dal server. |
| $_SERVER['PATH_TRANSLATED'] | Restituisce il percorso basato sul file system dello script corrente. |
| $_SERVER['SCRIPT_FILENAME'] | Restituisce il percorso dello script corrente. |
| $_SERVER['SCRIPT_URI'] | Restituisce l'URI della pagina corrente. |



