CREAZIONE PAGINE STATICHE Schema fondamentale da capire: gli attori Un file di testo (mappa.htm) Manda la pagina richiesta Browser Formatta le pagine secondo i tag html che riceve url/mappa.htm Fabio Scotti & Roberto Sassi 1
CREAZIONE PAGINE STATICHE Schema fondamentale da capire: gli attori Un file di testo (datiinviatiok.htm) Manda la pagina richiesta dati nei form vengono elaborati/trasmessi Browser Formatta le pagine secondo i tag html che riceve url/pagina1.htm + dati nei form Fabio Scotti & Roberto Sassi 2
ESEMPIO DI PAGINA STATICA Esempio: una home page Un file di testo (index.htm) Manda la pagina richiesta Browser Formatta le pagine secondo i tag html che riceve http://sansone.dti.unimi.it/~fscotti url/pagina1.htm (si intende index.htm) Fabio Scotti & Roberto Sassi 3
CREAZIONE PAGINE DINAMICHE Schema fondamentale da capire: gli attori Un file di testo (pagina1.php) Crea dinamicamente le pagine Array di risultati Browser Formatta le pagine secondo i tag html che riceve url/pagina1.htm + dati nei form query DataBase Fabio Scotti & Roberto Sassi 4
CREAZIONE PAGINE DINAMICHE Esempio: trenitalia Un file di testo http://62.110.170.234/webapp/trenitalia/timetable (4) Crea dinamicamente le pagine (3) Array di risultati Browser Formatta le pagine secondo i tag html che riceve (1) query (2) DataBase www.trenitalia.com/orario.htm (form:treni da livorno a roma ) Fabio Scotti & Roberto Sassi 5
CREAZIONE PAGINE DINAMICHE (1) Esempio: trenitalia Browser Richiede l orario mandando i dati attraverso un form Fabio Scotti & Roberto Sassi 6
CREAZIONE PAGINE DINAMICHE (4) Ritorna la pagina con i risultati Fabio Scotti & Roberto Sassi 7
Un esempio per capire l idea Vogliamo creare questo file risultati.htm Statica Dipende dai dati Incolla parti statiche (sempre uguali) con tabelle che dipendono dai dati (parti dinamiche) Statica Fabio Scotti & Roberto Sassi 8
Un esempio per capire l idea BLA BLA BLA sempre uguale <TABLE border=0 cellpadding=0 cellspacing=0 width="80%"> <TBODY> <TR> <TD align=left colspan=4 valign=top><br><img border=0 src="http://images.trenitalia.com/home/it/immagini/linea_scelta.gif"></td></tr> <TR> <TD align=middle colspan=4> <HR color=#000000 SIZE=1 width="100%"> <BR></TD></TR> <TR> <TD align=left valign=center width=200><img border=0 src="http://images.trenitalia.com/home/it/immagini/orarioa1.gif"></td> <TD align=left valign=center width=201><img border=0 src="http://images.trenitalia.com/home/it/immagini/orariob1.gif"></td> <TD align=left valign=center width=188><img border=0 src="http://images.trenitalia.com/home/it/immagini/orarioc1.gif"></td> <TD align=middle valign=center width=200> <HR color=#ffcc00 SIZE=2 width="100%"> </TD></TR> <TR align=middle> <TD align=left height=30 valign=center><font color=#006666 face=verdana,arial size=2><b>cremona</b></font></td> <TD align=left height=30 valign=center><font color=#006666 face=verdana,arial size=2><b>levanto </B></FONT></TD> <TD align=left colspan=2 height=30 valign=center><font color=#006666 face=verdana,arial size=2><b>25/4/2003 </B></FONT></TD></TR> <TR> <TD align=middle colspan=4> <HR color=#ffcc00 SIZE=2 width="100%"> </TD></TR></TBODY></TABLE><BR><BR> <TABLE bgcolor=#ffffff border=0 width="80%"> Statica Dipende dai dati Statica risultati.php Incolla parti statiche (sempre uguali) con tabelle che dipendono dai dati (parti dinamiche) Fabio Scotti & Roberto Sassi 9
CREAZIONE PAGINE DINAMICHE Prova a digitare questa stringa nella barra dell indirizzo del browser http://62.110.170.234/webapp/trenitalia/timetable?lang=it&stazin=crema&stazo Cosa stiamo facendo: stiamo mandando questi parametri lang=it stazin=crema stazout=cremona datag=29 datam=4 dataa=2003 timsh=14 timsm=51 nreq=5 alla pagina TimeTable del webserver 62.110.170.234 (orario.trenitalia.com) Fabio Scotti & Roberto Sassi 10
RISUTATO Fabio Scotti & Roberto Sassi 11
Provo a modificare nreq=20 Fabio Scotti & Roberto Sassi 12
CREAZIONE PAGINE DINAMICHE Il web server dovra quindi produrre un file testo che risponde alle richieste dell utente, esempio: <html> <head> <title>la tabella con i dati richiesti</title> </head> <body> <table> </table> </body> </html> Fabio Scotti & Roberto Sassi 13
PAGINE DINAMICHE: (a) Mandare i dati dal client al server form (b) Sul server una CGI riceve i dati (c) La CGI interroga il DB (d) Con i risulati ottenuti crea la pagina da rimandare all utente modulo.html (form) pagine in php query Mysql pagine in php Fabio Scotti & Roberto Sassi 14
PAGINE DINAMICHE: Crea dinamicamente le pagine APACHE WEBSERVER PHP4 MySQL Browser Formatta le pagine secondo i tag html che riceve DataBase Fabio Scotti & Roberto Sassi 15
PAGINE DINAMICHE: APACHE WEBSERVER programma capace di generare pagine per i client Crea dinamicamente le pagine PHP4 Php è un modulo aggiuntivo per web servers che permette di creare delle pagine web dinamiche Browser Formatta le pagine secondo i tag html che riceve DataBase MySQL Interfaccia al DB. Permette di eseguire query SQL Fabio Scotti & Roberto Sassi 16