Esercizi Superglobali PHP
Codegrind Team•Jul 12 2024
Ecco degli esercizi con soluzione per praticare l’uso delle superglobali in PHP.
Esercizio 1: Utilizzare $_GET
Recuperare i dati inviati tramite una richiesta GET e stamparli.
HTML Form
<!DOCTYPE html>
<html>
<body>
<form action="get_example.php" method="get">
Nome: <input type="text" name="nome" />
<input type="submit" />
</form>
</body>
</html>
get_example.php
<?php
if (isset($_GET['nome'])) {
$nome = htmlspecialchars($_GET['nome']);
echo "Ciao, " . $nome . "!";
}
?>
Esercizio 2: Utilizzare $_POST
Recuperare i dati inviati tramite una richiesta POST e stamparli.
HTML Form
<!DOCTYPE html>
<html>
<body>
<form action="post_example.php" method="post">
Nome: <input type="text" name="nome" />
<input type="submit" />
</form>
</body>
</html>
post_example.php
<?php
if (isset($_POST['nome'])) {
$nome = htmlspecialchars($_POST['nome']);
echo "Ciao, " . $nome . "!";
}
?>
Esercizio 3: Utilizzare $_SERVER
Stampare alcune informazioni del server utilizzando la superglobale `$_SERVER`.
<?php
echo "Indirizzo IP del server: " . $_SERVER['SERVER_ADDR'] . "<br>";
echo "Nome del server: " . $_SERVER['SERVER_NAME'] . "<br>";
echo "Software del server: " . $_SERVER['SERVER_SOFTWARE'] . "<br>";
echo "Metodo della richiesta: " . $_SERVER['REQUEST_METHOD'] . "<br>";
?>
Esercizio 4: Utilizzare $_FILES
Caricare un file e visualizzare alcune informazioni sul file caricato utilizzando `$_FILES`.
HTML Form
<!DOCTYPE html>
<html>
<body>
<form
action="upload_example.php"
method="post"
enctype="multipart/form-data">
Scegli file: <input type="file" name="fileToUpload" />
<input type="submit" value="Upload File" />
</form>
</body>
</html>
upload_example.php
<?php
if ($_FILES) {
$fileName = $_FILES['fileToUpload']['name'];
$fileSize = $_FILES['fileToUpload']['size'];
$fileTmp = $_FILES['fileToUpload']['tmp_name'];
echo "Nome del file: " . $fileName . "<br>";
echo "Dimensione del file: " . $fileSize . " bytes<br>";
echo "Percorso temporaneo: " . $fileTmp . "<br>";
}
?>
Esercizio 5: Utilizzare $_COOKIE
Creare un cookie e recuperare il valore del cookie utilizzando `$_COOKIE`.
<?php
// Imposta un cookie
setcookie("utente", "Mario Rossi", time() + 3600, "/");
// Recupera il valore del cookie
if(isset($_COOKIE['utente'])) {
echo "Ciao, " . $_COOKIE['utente'] . "!";
} else {
echo "Cookie non impostato.";
}
?>
Esercizio 6: Utilizzare $_SESSION
Inizializzare una sessione, impostare una variabile di sessione e recuperare il valore della variabile di sessione utilizzando `$_SESSION`.
session_start.php
<?php
session_start();
$_SESSION['nome'] = "Mario Rossi";
?>
<!DOCTYPE html>
<html>
<body>
<a href="session_use.php">Vai alla pagina successiva</a>
</body>
</html>
session_use.php
<?php
session_start();
if(isset($_SESSION['nome'])) {
echo "Ciao, " . $_SESSION['nome'] . "!";
} else {
echo "Sessione non impostata.";
}
?>
Esercizio 7: Utilizzare $_REQUEST
Recuperare i dati inviati tramite una richiesta GET o POST utilizzando `$_REQUEST`.
HTML Form
<!DOCTYPE html>
<html>
<body>
<form action="request_example.php" method="post">
Nome: <input type="text" name="nome" />
<input type="submit" />
</form>
</body>
</html>
request_example.php
<?php
if (isset($_REQUEST['nome'])) {
$nome = htmlspecialchars($_REQUEST['nome']);
echo "Ciao, " . $nome . "!";
}
?>
Esercizio 8: Utilizzare $_ENV
Recuperare una variabile d'ambiente utilizzando `$_ENV`.
<?php
putenv("UTENTE=Mario");
if(isset($_ENV['UTENTE'])) {
echo "Utente: " . $_ENV['UTENTE'];
} else {
echo "Variabile d'ambiente non impostata.";
}
?>
Esercizio 9: Utilizzare $_GLOBALS
Utilizzare la superglobale `$_GLOBALS` per accedere a una variabile globale all'interno di una funzione.
<?php
$nome = "Mario";
function saluta() {
echo "Ciao, " . $GLOBALS['nome'] . "!";
}
saluta(); // Output: Ciao, Mario!
?>
Esercizio 10: Utilizzare $_SESSION
per Contare le Visite
Utilizzare la superglobale `$_SESSION` per contare quante volte un utente ha visitato una pagina.
<?php
session_start();
if(isset($_SESSION['visite'])) {
$_SESSION['visite']++;
} else {
$_SESSION['visite'] = 1;
}
echo "Numero di visite: " . $_SESSION['visite'];
?>