Array, Funzioni e interazione con l utente

Documenti analoghi
Array, Funzioni e interazione con l utente

Laboratorio Progettazione Web PHP e FORMs HTML - Lezione 8. Andrea Marchetti IIT-CNR 2011/2012

Mantenimento dello stato

Mantenimento dello stato

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014

Modulo o Form in Html

Programmazione Web D B M G. Il linguaggio HTML

HTML Interazione con l utente

D B M G Il linguaggio HTML

@2011 Politecnico di Torino 1

Laboratorio Progettazione Web Il linguaggio PHP Array. Andrea Marchetti IIT-CNR AA 2014/2015

Laboratorio Progettazione Web Il linguaggio PHP Array. Andrea Marchetti IIT-CNR AA 2016/2017

Laboratorio Progettazione Web Array in PHP. Andrea Marchetti IIT-CNR 2013/2014

Guida introduttiva al PHP

Laboratorio Progettazione Web Il linguaggio PHP Array. Andrea Marchetti IIT-CNR AA 2017/2018

Programmazione Web D B M G. Il linguaggio HTML

Il linguaggio PHP. Elementi base

Lato client: vuol dire che le operazioni programmate vengono svolte e visualizzate direttamente sul computer dell'utente collegato

D B M G. Basi di dati. Programmazione Web: HTML. Programmazione Web. Il linguaggio Politecnico di Torino 1

D B M G. Basi di dati. Programmazione Web: HTML. Programmazione Web. Il linguaggio Politecnico di Torino 1

@2011 Politecnico di Torino 1

Array. // utente pippo $utente1 = array( username => pippo, password => pippo123, ruolo => amministratore );

@2011 Politecnico di Torino 1

HTML: FORM. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Il tag form indica l'inizio della costruzione di un modulo. Necessita del tag di chiusura

Laboratorio di Progettazione Web

Laboratorio Progettazione Web Il linguaggio PHP Array. Andrea Marchetti IIT-CNR AA 2015/2016

Interazione con l utente : i moduli.

Laboratorio di Progettazione Web Introduzione

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati

Laboratorio di Progettazione Web Applicazioni Web

I moduli HTML Interazione per l invio di informazioni in Internet

Laboratorio di Progettazione Web

04/05/2011. Lezione 6: Form

Creare l array presentato nei lucidi ([pippo, pluto, etc])

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas

HTML Sintassi di HTML Tag principali per i contenuti I Forms

Il Web come Interfaccia Utente di un Sistema Informativo

TPSIT 3AIT FEBBRAIO 2018 docente Salvatore Mosaico Esempi di PHP Esempio 1. <html> <head> <body> ciao. <? $a=1; $b=2; echo $a+$b; </body>

Linguaggi di scripting

DURANTE LA NAVIGAZIONE NEI SITI WEB I VISITATORI NON SOLO POSSONO CONSULTARE INFORMAZIONI STATICHE

Connessione con MySQL

HTML e interattività FORM

2011 Politecnico di Torino 1

La connessione ai database MySQL tramite script PHP versione 5.5

Il linguaggio PHP. Parte I Introduzione. Paolo Milazzo

... Introduzione PHP. Corso di Basi di Dati. Thursday, June 5, Esempio: - display_errors: impostato su 'on' mostra gli errori sul browser.

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.a HTTP request e HTTP response (form e link)

Applicazioni Web: meccanismi per il passaggio di informazioni tramite HTTP Corso di Applicazioni Telematiche

Internet, il web e il linguaggio HTML. percorso 3. Form

PHP ESSENTIALS #8. By WI400 Team. : files, streaming

HTML 6. Il modulo. Tipi di controlli. Esempio di modulo. I moduli a.k.a. form

Informatica di base Laboratorio di HTML Dott. Serena Villata A.A. 2004/05

Appunti su ASP (Active Server Pages)

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Connessione con MySQL

STRUTTURA BASE DELLA PAGINA HTML

Dott.ssa Adriana Pietramala

LEZIONE 5. Introduzione a Javascript

WEP WEb Programming. 4 PHP: dati e form

HTML 6. I moduli a.k.a. form

2011 Politecnico di Torino 1

Programmazione Web D B M G. Il linguaggio PHP

Lezione 6: Form 27/04/2012

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati

Tipi di input widget. Textbox. <form action="action_page.php"> <b>name:</b> <input type="text" name="name" size="20" maxlength="40" > <br><br>

HTML Settima lezione. 7 Aprile di Ivano Stranieri

PHP 3. Interazione browser server. PHP e EGPCS 2. PHP e EGPCS 1. Interazione con il browser

Basi di Dati-IX. Basi di dati e web. Introduzione. Schema. Basi di dati e web. Corso di Laurea in Informatica Anno Accademico 2013/2014

HTML FORM E PHP. Programmazione Web 1

Laboratorio di Informatica (Chimica)

I FORM. L'attributo action contiene l'url del file php a cui devono essere inviati i file per essere elaborati.

Laboratorio di Progettazione Web

Laboratorio Progettazione Web Array in PHP Lezione 7. Andrea Marchetti IIT-CNR 2011/2012

Installazione di EasyPhp. Avviare EasyPhp. La finestra di amministrazione di EasyPhp

Laboratorio di Basi di Dati

Corso di PHP. Prerequisiti. 4.2 Array associativi. Variabili semplici e strutturate Concetto di array Strutture di controllo

Strumenti a disposizione

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript

Laboratorio Progettazione Web Modello di applicazione Web

Laboratorio Progettazione Web Modello di applicazione Web

Il linguaggio HTML - Parte 3

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML. Il Linguaggio HTML

Programmazione lato client. JavaScript. Applicazioni di Rete M. Ribaudo - DISI. JavaScript

Primi elementi di PHP

LE PRIME ACTIVE SERVICE PAGE: oggetto REQUEST

Tito Flagella - Il protocollo HTTP

Tecnologie di Sviluppo per il Web

Applicazione ASP di esempio

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

JavaScript (4) Programmazione lato client. document.forms[] Oggetto form. Oggetto form. È uno degli oggetti più importanti del DOM

Basi di Dati-XII. PHP e MySQL. Perché? Come? Corso di Laurea in Informatica Anno Accademico 2013/2014

Laboratorio Progettazione Web Le funzioni in PHP. Andrea Marchetti IIT-CNR 2016/2017

Transcript:

Array, Funzioni e interazione con l utente Laboratorio di Progettazione Web AA 2010/2011 Claudio Lucchese / Chiara Renso ISTI- CNR claudio.lucchese@isti.cnr.it

Gli array sono contenitori in grado di memorizzare una sequenza di elementi indicizzati. Rispetto alla variabili possono contenere tanti valori diversi. Gli array di PHP sono di tipo associativo, ovvero associano un elemento ad una chiave Indice array o chiave 0 1 2 3 4 pippo pluto paperino paperone topolino elementi array

Gli array si creano con il costrutto array() $myarray = array ( pippo, pluto, paperino, paperone, topolino ); Abbiamo creato un array di cinque elementi, alla posizione 0 abbiamo pippo, e cosi via fino alla quinta posizione (elemento 4).

L accesso agli elementi può avvenire tramite l indice $myarray[1] ; indica l elemento pluto In generale $myarray[chiave]

$array[] = $newelement: Viene aggiunto il nuovo elemento alla fine dell array $myarray[]= archimede ; La chiave viene generata in maniera automatica incrementando l ultima chiave intera presente

$myarray[]= zero ; $myarray[]= uno ; $myarray[]= due ; echo $myarray[0]., ; echo $myarray[1]., ; echo $myarray[2]., ; La chiave viene generata in maniera automatica incrementando l ultima chiave intera presente zero, uno, due

Le chiavi possono anche essere delle stringhe! $myarray2 = array ('personaggio1'=>"pippo",'personaggio2'=>"pluto",'persona ggio3'=>"paperino",'personaggio4'=>"paperone",'personagg io5'=>"topolino") Le chiavi possono essere miste! $vettore[3] = "tre ; $vettore["claudio"] = "prova ; $vettore[] = "77 ; $vettore[] = 78 ; $vettore[] = 79"; Quale chiave viene associata al vaolre 78?

Il costrutto foreach permette di effettuare cicli sugli elementi dell array foreach(array as item) dove item è una variabile usata per memorizzare i valori nell array Esempio: foreach ($myarray as $item) echo $item <BR> ;

Il costrutto foreach permette di effettuare cicli sugli elementi dell array foreach(array as key => item) dove key è una variabile usata per memorizzare le chiavi dell array Esempio: foreach ($myarray as $key => $item) echo $key : $item <BR> ;

$vettore[3] = "tre ; $vettore["claudio"] = "prova ; $vettore[] = "77 ; $vettore[] = 78 ; $vettore[] = 79"; Quale chiave viene associata al vaolre 78? foreach($vettore as $key => $value) { echo $key : $value <br> ; } 3 : tre claudio : prova 4 : 77 5 : 78 6 : 79

Un elemento di un array può contenere a sua volta un array, creando cosi un array multidimensionale <? $myarray=array( array("pippo","pluto"), array("topolino","paperino") ); echo $myarray[0][1]. <br> ;?> pluto

Contare gli elementi: count(array) e sizeof(array) Randomizzazione di un array shuffle(array)) shuffle richiede che il generatore di numeri casuale sia inzializzato dall istruzione srand Guida a http://www.php.net/manual/en/function.count.php http://www.php.net/manual/en/function.shuffle.php http://www.php.net/manual/en/function.srand.php Oppure google php count php shuffle, php srand

<? $pizze=array( margherita, capricciosa, quattro stagioni ); srand((double)microtime() * 1000000); // generatore random shuffle($pizze); echo $pizze[0];?>

Le funzioni sort() e rsort() permettono di ordinare un array in base agli elementi sort($myarray); ordina in ordine crescente rsort($myarray); ordina in ordine decrescente Non restituiscono un valore ma ordinano direttamente l array passato come parametro. Esempio <? $myarray=( uno, due, tre ): sort($myarray);?>

explode() e implode() permettono di convertire un array in una stringa e una stringa in un array per mezzo di un carattere separatore. In questo esempio $mystring è il risultato di implode dell array dove gli elementi dell array vengono separati nella stringa dal carattere spazio $mystring = implode(,$myarray); Analogamente, $myarray è il risultato di explode di una stringa dove gli elementi dell array vengono distinti dal carattere barra $myarray= explode(,$mystring);

Il grosso vantaggio dell uso di tecnologie serverside sta nel poter gestire l interazione con l utente. L utente può interagire con una applicazione web (spedire parametri per la consultazione) principalmente con l uso di Moduli o FORM. Le Form sono costrutti di HTML e non di PHP. La parte di programma lato server permette di gestire i dati che vengono spediti al server tramite i costrutti delle Form.

L HTML permette di visualizzare e formattare opportunamente le FORM, mentre la parte lato server riceve i dati spediti via HTTP e li gestisce. Il collegamento tra lato client (HTML) e lato server avviene nella action dove viene specificato lo script che riceve e gestisce i dati Parametri <FORM name=esempio action= pagina.php METHOD=GET POST> <INPUT type=text name=username> <INPUT type=radio name=color value= Rosso > <INPUT type=submit>

Il passaggio dei parametri della Form può avvenire secondo due modalità: GET e POST. Il metodo GET prevede il passaggio dei parametri in una QUERY STRING, ovvero una stringa che racchiude i parametri accodata alla URL, quindi visibile dalla barra del browser. Lunghezza massima querystring 256 caratteri. Nel metodo POST i parametri vengono passati direttamente tramite protocollo HTTP, non sono visibili. Sono metodi equivalenti, ma il GET non viene usato in caso di password o in caso di molti parametri o passaggio di stringhe molto lunghe. Ogni metodo viene trattato in modo diverso dal lato server

Con il metodo GET i parametri vengono passati nella URL che riferisce la pagina chiamata dalla ACTION Esempio: http://localhost/submit.php?dato1=pippo&dato2=pluto Il carattere? separa il nome della pagina dai parametri che vengono passati. I parametri sono nella forma nomeparametro=valore separati dal simbolo & Tutta la stringa dopo il simbolo? prende il nome di querystring o stringa di interrogazione

PHP può accedere ai parametri in tre modi: $_POST[nomepar] per il metodo POST $_GET[nomepar] per il metodo GET Oppure accedendo all array globale delle richieste: $_REQUEST[nomepar] per entrambi i metodi. In questo modo lo script PHP è indipendente dal metodo usato dalla FORM HTML Tutti i parametri di passaggio nelle form sono nell ambiente predefinito di php e sono quindi visualizzabili con la funzione phpinfo()

Radio button I valori inseriti come opzioni nei campi radio button si ottengono selezionando negli array $_POST/$_GET o $_REQUEST il nome del campo In HTML: Rosso <INPUT type= radio name= mioradio value="rosso"> Verde <INPUT type= radio name= mioradio value="verde"> In PHP: $miopar1=$_request[ mioradio ];

I campi checkbox, come gli altri, si accedono tramite gli array $_GET o $_POST o $_REQUEST selezionando il nome del campo della form In HTML: Rosso <INPUT type= checkbox name= miocheckred value="rosso"> Verde <INPUT type= checkbox name= miocheckverde value="verde"> In PHP: $miopar2=$_request[ miocheckred ];

Analogamente, i campi di selezione si accedono con il nome In HTML: <select name= selezione > <option> prima opzione</option> <option> seconda opzione</option> </select> In PHP: $miopar4=$_request[ selezione ]; echo $miopar4;

Nei campi di selezione multipli tramite il nome si accede ad un array che occorre indicare nel nome del campo select della form In HTML: <select name= selezione1[] multiple> <option value= prima > prima opzione</option> <option value= seconda > seconda opzione</option> </select> In PHP: $miopar4=$_request[ selezione1 ][0]; echo $miopar4;

Similmente per i campi textarea <textarea name="miatext" rows=5> </textarea> In PHP: $miopar5=$_request[ miatext ]; echo $miopar5;

La gestione delle form prevede due passi: la visualizzazione della FORM in HTML e la gestione dei parametri in PHP. Possiamo immaginare di gestire questi passi in due pagine distinte, una in HTML solamente (quindi con estensione.html) e l altra come pagina PHP (.php). In questo caso avremo, ad esempio, miapaginaform.html che descrive la form e che nella action indica la pagina miapaginaform.php per la gestione dei parametri.

gestform.php <? $miavar=$_get[ nome ]; echo $miavar;?> gestform.php?nome= pippo <FORM name=miaform action=gestform.php method=get> <INPUT type=text name= nome >. gestform.html <INPUT TYPE=SUBMIT>

Talvolta questa modalità di gestione rischia di far proliferare eccessivamente il numero di pagine (html e php), si può quindi usare una sola pagina PHP sia per la visualizzazione della form che per la gestione dei parametri Per gestire sia la visualizzazione del form che la gestione nello stesso script occorre distinguere quando visualizzare la form e quando elaborare lo script. Occorrerà distinguere il caso di visualizzazione della parte della form dall altra per l elaborazione dei parametri.

gestform.php if (isset($_post[submit])) { // trattamento parametri.. } else { //visualizza la form echo <FORM name=miaform method=post action=gestform.php > ; <INPUT TYPE=submit name=submit>}

if (isset($_post[ submit ])) { echo trattamento parametri ; // trattamento parametri } else { //visualizza la form La pagina richiama se stessa come action echo <FORM name=miaform method=post action=miaform.php > ; echo <INPUT name= miopar type= text > ; echo <INPUT type= submit name= submit > ; echo </FORM> ; } Il pulsante di submit ha un nome tramite il quale testiamo se la pagina e stata chiamata la prima volta o in seguito ad una sottomissione

Si può richiamare la pagina stessa in modo parametrico usando la variabile predefinita $_SERVER[PHP_SELF]. E un modo più pulito e scalabile, se si cambia nome allo script non occorre cambiare il codice! <FORM name=miaform method=post action= <? echo $_SERVER[PHP_SELF]?> > ; <INPUT name=miopar type=text>; <INPUT type=submit name="submit">; </FORM>;