⊗ppPmSsFr 322 of 447 menu

Sessioni e form in PHP

Supponiamo di avere due file PHP. Inseriamo nel file test1.php un modulo che chiede all'utente due numeri:

<form method="GET"> <input name="num1"> <input name="num2"> <input type="submit"> </form>

Nello stesso file, inseriamo il codice di elaborazione del modulo. In questo codice, scriveremo i dati degli input nella sessione:

<?php session_start(); if (!empty($_GET)) { $_SESSION['num1'] = $_GET['num1']; $_SESSION['num2'] = $_GET['num2']; } ?>

Una sfumatura importante: nel file, il codice di elaborazione del modulo deve trovarsi prima del modulo stesso. Perché: perché in questo codice lavoriamo con la sessione, e quindi non ci deve essere alcun output a schermo prima di questo.

Ora, nel file test2.php, troviamo la somma dei numeri salvati nella sessione:

<?php if (!empty($_SESSION)) { echo $_SESSION['num1'] + $_SESSION['num2']; } ?>

In quale sequenza dovrebbe funzionare tutto questo? Prima, l'utente accede alla pagina test1.php, compila il modulo e preme il pulsante. Dopodiché, ritorna su test1.php, ma questa volta con i dati inviati dal modulo. In questo caso, entra nella condizione in cui scriviamo i dati del modulo nella sessione.

Poi, l'utente deve accedere manualmente alla pagina test2.php - e lì vedrà la somma dei numeri inseriti.

Potreste chiedere: perché complicarsi così la vita? Dopotutto si poteva inviare subito il modulo alla pagina test2.php. Il fatto è che, in questo caso, il vantaggio è che il modulo stesso e il codice per la sua elaborazione si trovano sulla stessa pagina. Certo, questo non è sempre conveniente, ma a volte può essere necessario.

Su una pagina, utilizzando un modulo, chiedete all'utente cognome, nome ed età. Registrate questi dati nella sessione. Quando si accede a un'altra pagina, visualizzate questi dati sullo schermo.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta