Diapositiva 1 - IEEE Salento Student Branch
Transcript
Diapositiva 1 - IEEE Salento Student Branch
Lezione 2 Massimiliano Palese – IEEE Student Member I form permettono di inviare dei dati al sito web; Vi sono 2 modi per inviare i dati: ◦ Metodo GET ◦ Metodo POST Una pagina PHP legge i dati che arrivano un ingresso attraverso delle variabili “globali”, che in questo caso sono dei vettori; Per il metodo GET, l’array è $_GET[]; Per il metodo POST, l’array è $_POST[]; Come visto per gli array, per estrarre i dati è sufficiente indicarne l’indice, sia in forma numerica, che in forma di stringa; Per il formato in stringa, bisogna tener presente il “NAME” del controllo dato in input; Se nella pagina HTML, il controllo è stato così definito: <FORM ACTION=“…” … METHOD=“GET” >… <INPUT TYPE=“TEXT” NAME=“user” /> … Nella pagina PHP ci si riferirà così: $utente = $_GET[‘user’]; Creare una pagina PHP che, presi i dati da un form HTML, ne riepiloghi i dati; (10 minuti) Creare una semplice calcolatrice a 2 operandi; (facoltativo) <HTML> <BODY> <FORM ACTION=“script.php” METHOD=“POST”> User: <INPUT TYPE=“TEXT” NAME=“user”><BR> Pass: <INPUT TYPE=“PASSWORD” NAME=“pass”><BR> <INPUT TYPE=“SUBMIT” VALUE=“Invia”> </FORM> </BODY> </HTML> <HTML> <BODY> Utente: <?php echo $_POST[“user”] ?><BR> Password: <?php echo $_POST[“pass”] ?> </BODY> </HTML> Salvare delle variabili di ambiente Il Web si basa sull’utilizzo del protocollo HTTP, che è un protocollo “state-less”, ovvero esso gestisce ogni richiesta e ogni risposta in modo totalmente indipendente e disgiunto ! Questo comporta che non è possibile salvare lo “stato” della propria navigazione, e del rapporto col server; Per rimediare a ciò, PHP mette a disposizione le “sessioni”, uno strumento che permette di salvare delle variabili globali, memorizzate lato server, ma collegate esclusivamente con un utente ! Si basano su una combinazione di indirizzo IP, cookies e una chiave condivisa; Innanzitutto, la prima istruzione della pagina PHP dev’essere: session_start(); Dopodiché, è sufficiente utilizzare l’array chiamato $_SESSION[nome_variabile]; <?php session_start(); if (check_user($_POST[‘user’],$_POST[‘pass’])) $_SESSION[‘id_user’]=get_userID($_POST[‘user’]); else echo “Nome utente//password errati !”; ?> Creare un contatore che visualizzi in ogni pagina quante volte è stata visitata; (5 minuti) Aiutino: memorizzare una variabile contatore nella variabile di sessione, e incrementarla e visualizzarla in ogni pagina del sito; <HTML> <BODY> <?php session_start(); if (!isset($_SESSION[“contatore1”])) $_SESSION[“contatore1”]=1; else $_SESSION[“contatore1”]++; echo “Visite fatte nella pagina: “ . $_SESSION[“contatore1”].”<BR>”; ?> <A HREF=“pag2.php”>Pagina 2</A> </BODY> </HTML> <HTML> <BODY> <?php session_start(); if (!isset($_SESSION[“contatore2”])) $_SESSION[“contatore2”]=1; else $_SESSION[“contatore2”]++; echo “Visite fatte nella pagina: “ . $_SESSION[“contatore2”] . “<BR>”; ?> <A HREF=“pag1.php”>Pagina 1</A> </BODY> </HTML>