Ritorna alla lezione

Laboratorio di Sistemi Informativi - Esercizi

Inserimento dati con struttura 3 fasi

Esercizio 1

Inglobare inserimento4-form.php, inserimento4.php e inserimento4-conferma.php in un unico file, come già fatto per inserimento-totale.php nella lezione precedente.

Soluzione

Si tratta semplicemente di incollare i tre file con opportune istruzioni if per differenziare quando eseguire uno e quale l'altro. L'idea è che, se il parametro $_POST['nome'] è presente, si eseguono i comandi per l'inserimento dati, se $_GET['id'] è presente si visualizza la pagina di conferma, altrimenti si visualizza la FORM di inserimento dati. È anche possibile mettere assieme il codice comune alle varie parti, stando sempre attenti al fatto che, quando si esegue il comando header, nessun output deve essere già stato inviato al server. Il risultato è nel file inserimento4-totale.php.

Esercizio 2

Utilizzando la funzione header(), scrivere una funzione redirect_browser() che accetta come parametro un percorso relativo e  redirige il browser alla pagina ivi indicata.

Soluzione

Una possibile soluzione è la seguente.

function redirect_browser($s)
{    
   header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/$s");
}

Nella pratica, si consiglia l'uso della redirect_browser presente in funzioni.php che è molto più generale: accetta URL assoluti oltre che relativi e si comporta correttamente anche in contesti dove la funzione appena definita non va bene (ad esempio con il protocollo https).

Valid HTML 4.01 Transitional Valid CSS!