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ı: 70

PHP 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.