WEP WEb Programming. 4 PHP: dati e form

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "WEP WEb Programming. 4 PHP: dati e form"

Transcript

1 WEP WEb Programming 4 Lucidi per il corso di Basi di Dati tenuto da Paolo Baldan presso l Università di Padova, anno accademico 2008/09 1

2 PHP e MySQL 2

3 Perché? 3 Le applicazioni hanno bisogno di operare su dati persistenti... e per gestire moli significative di dati (condivisi) la soluzione ovvia è un DB È opportuno separare logicamente (e fisicamente) la logica dell applicazione, dalla gestione dei dati (cfr. Architetture software, es: Architettura three-tier, MVC (model-viewcontrol,...) 3

4 Come? 4 L accesso a un server MySQL da PHP tramite un API La sequenza dei passi da effettuare è Effettuare una connessione al server Selezionare il DB o crearlo se non esiste Eseguire la/le query (creare tabelle, inserire o selezionare dati ) Nel caso di una select, elaborazione dei dati recuperati - con logica a cursore - memorizzandoli in un array 4

5 Connessione 5 Attiva una connessione e restituisce un identificatore per questa o una segnalazione di errore (FALSE) l identificatore della connessione sarà usato in tutti gli accessi successivi /* parametri per la connessione */ $host="localhost"; /* server MySQL */ $user="fabio"; /* utente */ $pwd= "xxxxx"; /* password */ /* connessione al server */ $conn=mysql_connect($host, $user, $pwd) or die($_server['php_self']. "Connessione fallita!"); 5

6 Messaggi di errore 6 Può essere comodo definire una funzione che dia informazioni dettagliate e personalizzate sull errore function fail($msg) { die($_server['php_self']. ": $msg<br />"); } da includere nei vari script require('errors.php'); /* connessione al server */ $conn=mysql_connect($host, $user, $pwd) or fail("connessione fallita!"); 6

7 Esecuzione di una query 7 /* seleziona il database da usare */ $dbname="univ"; mysql_select_db($dbname); /* prepara lo statement: media dei voti degli studenti di una data provincia */ $prov="sp"; $query="select s.matricola, s.nome, s.cognome, ROUND(AVG(e.Voto)) AS Media FROM Studenti s JOIN ESAMI e ON (s.matricola=e.candidato) WHERE s.provincia=\"$prov\" GROUP BY s.matricola, s.nome, s.cognome"; 7

8 Esecuzione di una query 8 /* Stampa la query a video... utile per debug */ echo "<B>Query</B>: $query <BR />"; /*... e la esegue, ottenendo un handler per i risultati */ $studenti = mysql_query($query,$conn) or die("query fallita". mysql_error($conn)); 8

9 Qualche risultato? 9 Si può controllare la dimensione della tabella restituita dalla query eseguita con mysql_num_rows($risultato) Continuando l esempio... /* numero di righe nel risultato */ $num_righe=mysql_num_rows($studenti); if (! $num_righe) echo "<P>Nessuno studente della provincia di $prov ha fatto esami.</p>"; else { /* gestione del risultato non vuoto */ } 9

10 Recuperare i risultati 10 Il risultato di una query SELECT si elabora con una logica a cursore Per leggere la riga corrente in un array e posizionarsi sulla prossima $row = mysql_fetch_row($result) ritorna la riga corrente come un array enumerativo ($row[0] = primo campo, $row[1] secondo campo, etc.) $row = mysql_fetch_assoc($result) ritorna la riga corrente come un array associativo, indicizzato dai nomi dei campi $row = mysql_fetch_array($result) ritorna un array enumerato e associativo 10

11 Recuperare i risultati: enum 11 if (! $num_righe)... else { echo "<P>Trovati $num_righe studenti di $prov che hanno fatto esami.<br />"; echo "Ecco le loro medie:<br />"; while ($row = mysql_fetch_row($studenti)) { $matricola=$row[0]; /* primo campo */ $nome=$row[1]; /* secondo campo */ $cognome=$row[2]; /*... */ $media=$row[3]; /*... */ echo "$matricola - $nome $cognome - $media<br />"; }; echo "</P>"; MySQL1.php 11

12 Recuperare i risultati: assoc 12 if (! $num_righe)... else { echo "<P>Trovati $num_righe studenti di $prov che hanno fatto esami.<br />\n"; echo "Ecco le loro medie:<br />"; while ($row = mysql_fetch_assoc($studenti)) { $matricola=$row['matricola']; $nome=$row['nome']; $cognome=$row['cognome']; $media=$row['media']; echo "$matricola - $nome $cognome - $media<br />"; }; echo "</P>"; 12

13 Recuperare i risultati: array 13 if (! $num_righe)... else { echo "<P>Trovati $num_righe studenti di $prov che hanno fatto esami.<br />\n"; echo "Ecco le loro medie:<br />"; while ($row = mysql_fetch_array($studenti)) { $matricola=$row['matricola']; $nome=$row[1]; $cognome=$row['cognome']; $media=$row[3]; echo "$matricola - $nome $cognome - $media<br />"; }; echo "</P>"; 13

14 Visualizzare i risultati in una tabella HTML 14 /* funzione per stampare un array, come riga di tabella html */ function echo_row($row) { echo "<TR>"; foreach ($row as $field) echo "<TD>$field</TD>"; echo "</TR>"; };... /* Intestazione della tabella */ echo <TABLE border=\"1\"> <TR> <TH>Matricola</TH> <TH>Nome</TH> <TH>Cognome</TH> <TH>Media</TH> </TR> ; 14

15 Visualizzare i risultati in una tabella HTML 15 /* funzione per stampare un array, come riga di tabella html */ function echo_row($row) { echo "<TR>"; foreach ($row as $field) echo "<TD>$field</TD>"; echo "</TR>"; };... /* Intestazione della tabella con here document */ echo <<<END <TABLE border="1"> <TR> <TH>Matricola</TH> <TH>Nome</TH> <TH>Cognome</TH> <TH>Media</TH> </TR> END; 15

16 Visualizzare i risultati in una tabella HTML 16 /* stampa le righe della tabella */ while ($row = mysql_fetch_row($studenti)) echo_row($row); echo "</TABLE>"; MySQL2.php Nota: L uso di mysql_fetch_row è importante per il funzionamento di echo_row 16

17 LIMIT 17 Talvolta interessa un numero limitato di record come risposta da una select Questo può essere ottenuto con il costrutto SQL LIMIT start, max SELECT * FROM Studenti LIMIT 0,9; Il primo argomento della LIMIT è l offset ( la riga di partenza) l altro è il massimo numero di righe da ritornare Restituisce solo i record dal primo (indice 0) al decimo 17

18 Altre interrogazioni 18 Con lo stesso meccanismo si possono eseguire altri statement SQL /* inserimento... */ $query="insert INTO Docenti VALUES (\"MM1\", \"Mino\",\"Monti\")"; $ins=mysql_query($query,$conn) or die("inserimento fallito". mysql_error($conn)); /*... e la esegue, ottenendo un handler per i risultati */ $query="delete FROM Docenti WHERE CodDoc=\"MM1\""; $del=mysql_query($query,$conn) or die("cancellazione fallita". mysql_error($conn)); 18

19 Interazione con l utente 19

20 Form 20 L interazione con l utente avviene principalmente mediante l uso di form HTML HTML fornisce vari tag per visualizzare e formattare opportunamente le FORM Quando l utente conferma i dati nella form, le informazioni vengono codificate e inviate al server tramite HTTP Il server elabora i dati e li gestisce (nel nostro caso tramite PHP) <FORM action= pagina.php method= GET POST > <INPUT type= text name= username /> <INPUT type= radio name= color value= Rosso > <INPUT type= submit /> 20

21 Form 21 Una form ha in generale la seguente struttura <FORM action="manage_form.php" method="get POST"> input_1: <INPUT type="..." name="campo_1">... input_n: <INPUT type="..." name="campo_n"> <INPUT type="submit" value="procedi"> <INPUT type="reset" value="cancella"> </FORM> 21

22 Input 22 L input può essere di vari tipi Text Password Textarea Radio Checkbox Selection/Option (menù)... 22

23 Text, password, textarea 23 <FORM method="get" action="manage.php"> Nome <INPUT type="text" name="username"> <BR /><BR/ > Password <INPUT type="password" name="password" maxlength="8" size="8"> <BR /><BR/ > Commenti<BR /> <TEXTAREA name="comments" rows="7" cols="40"> </TEXTAREA> <BR /> <INPUT type="submit" value="invia"> <INPUT type="reset" value="cancella"> </FORM> FormText.html 23

24 Radio, Checkbox, Option 24 <FORM method="get" action="manage.php"> Iniziali del nome: <SELECT name="nome"> <OPTION>---</OPTION> <OPTION>A-H</OPTION> <OPTION>I-Z</OPTION> </SELECT> Provincia: <INPUT type="radio" name="prov" value="pi" /> PI <INPUT type="radio" name="prov" value="sp" /> SP <INPUT type="checkbox" name="tutor[]" value="has"/> Ha tutor <INPUT type="checkbox" name="tutor[]" value="is" /> E tutor... </FORM> FormChoice.html 24

25 Passaggi parametri: GET e POST 25 GET i parametri sono passati accodandoli alla URL del gestore della form la stringa dei parametri (visibile nel browser) viene detta query string può essere costruita artificialmente o inserita in un bookmark lunghezza massima querystring 256 caratteri POST i parametri vengono passati direttamente tramite protocollo HTTP non sono visibili 25

26 Gestione dei parametri 26 Uno script 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"] vale per entrambi i metodi lo script PHP è indipendente dal metodo usato dalla FORM Tutti i parametri di passaggio nelle form sono nell ambiente predefinito di php e sono quindi visualizzabili con la funzione phpinfo() 26

27 Pagine per form 27 La gestione delle form prevede due passi la visualizzazione della FORM in HTML gestione dei parametri in PHP Soluzione tipica: Due pagine distinte una in HTML (estensione.html) l altra come pagina PHP (estensione.php) 27

28 Esempio di Form 28 <FORM action="formstudenti.php" method="get"> Cognome: <INPUT type="text" name="cognome"><br /> Matricola: <INPUT type="text" name="matricola" maxlength="6"> <BR /><BR /> Iniziale del nome: <SELECT name="nome"> <OPTION>---</OPTION> <OPTION>A-H</OPTION> <OPTION>I-Z</OPTION> </SELECT> <BR /><BR /> Provincia: <INPUT type="radio" name="prov" value="pi" /> PI <INPUT type="radio" name="prov" value="sp" /> SP <BR /><BR /> FormStudenti.html 28

29 Esempio di Form 29 <INPUT type="checkbox" name="tutor[]" value="has" /> Ha un tutor <INPUT type="checkbox" name="tutor[]" value="is" /> E tutor <BR /><BR /> <TEXTAREA name="commento" rows="5"> Mah... </TEXTAREA> <BR /><BR /> <INPUT type="submit" value="invia"> </FORM> FormStudenti.html 29

30 Gestore della Form: Recupero dei parametri 30 I parametri della form possono essere recuperati dall array $_GET <?PHP $cognome = $_GET["cognome"]; $matricola = $_GET["matricola"]; $nome = $_GET["nome"]; $provincia = $_GET["prov"]; Nel caso di scelte multiple (es. checkbox e select), il parametro è un array if ($_GET["tutor"]) { $hatutor = in_array('has', $_GET["tutor"]); $etutor = in_array('is', $_GET["tutor"]); }; $commento = $_GET["commento"]; 30

31 Gestore della Form: Recupero dei parametri 31 In fase di debug è una buona idea stampare i parametri della form Qui lo facciamo con HERE document echo<<<end Ecco i parametri:<br /> <UL> <LI>Cognome: $cognome</li> <LI>Iniziali del nome: $nome</li> <LI>Matricola: $matricola</li> <LI>Provincia: $prov</li> <LI>Ha tutor?: $hatutor</li> <LI>È un tutor?: $etutor</li> <LI>Commento: $commento </LI> </UL> END; 31

32 Gestore della Form: Costruzione della query 32 Costruzione della query secondo le esigenze dell utente $query="select DISTINCT s.* FROM Studenti s"; /* da aggiungere in JOIN se si vuole che lo studente sia un Tutor */ if ($etutor) $join=" JOIN Studenti s1 ON (s.matricola = s1.tutor)"; /* clausola WHERE */ $where=" WHERE TRUE"; /* verifica se c'e` un vincolo sul cognome ed eventualmente lo aggiunge al WHERE */ if ($cognome) $where.= " AND s.cognome =\"". $cognome. "\""; 32

33 Gestore della Form: Costruzione della query 33 /* verifica se c'e` un vincolo su matricola ed eventualmente lo aggiunge al WHERE */ if ($matricola) $where.= " AND s.matricola =\"". $matricola. "\""; /* verifica se c'e` un vincolo su provincia ed eventualmente lo aggiunge al WHERE */ if ($prov) $where.= "AND s.provincia =\"". $prov. "\""; 33

34 Gestore della Form: Costruzione della query 34 /* da aggiungere nel WHERE se vogliamo che lo studente abbia un nome con iniziali prefissate */ switch ($nome) { case 'A-H': $where.= " AND (s.nome REGEXP \"[A-H].*\")"; break; case 'I-Z': $where.= " AND (s.nome REGEXP \"[I-Z].*\")"; break; /* se ($nome= --- ) non inserisce niente nel where! */ } 34

35 Gestore della Form: Costruzione della query 35 Costruzione della query secondo le esigenze dell utente /* da aggiungere nel WHERE se vogliamo che lo studente abbia un tutor */ if ($hatutor) $where.= " AND (s.tutor IS NOT NULL)"; /* completa la query */ $query = $query. $join. $where; /* come al solito conviene stamparla... */ echo "<B>Query</B>: $query"; /* e la esegue */ $studenti = mysql_query($query,$conn) or die("query fallita". mysql_error($conn)); 35

36 Gestore della Form: Output dei risultati 36 Funzioni di supporto per la gestione delle tabelle HTML /* Inizia una tabella html. In input l'array degli header delle colonne */ function table_start($row) { echo "<TABLE border=\"1\">"; echo "<TR>"; foreach ($row as $field) echo "<TH>$field</TH>"; echo "</TR>"; }; table_fun.php 36

37 Gestore della Form: Output dei risultati 37 Funzioni di supporto per la gestione delle tabelle HTML /* Stampa un array, come riga di tabella html */ function table_row($row) { echo "<TR>"; foreach ($row as $field) if ($field) /* gestione valori nulli! */ echo "<TD>$field</TD>"; else echo "<TD>---</TD>"; echo "</TR>"; }; /* funzione per terminare una tabella html */ function table_end() { echo "</TABLE>"; }; table_fun.php 37

38 Gestore della Form: Output dei risultati 38 Occorre includere il file delle funzioni con require("table_fun.php"); Quindi l ultima parte del codice per l ouput è /* fornisce in output i risultati in forma di tabella */ table_start(array("nome", "Cognome",!! "Matricola", "Nascita", "Provincia", "Tutor")); while ($row = mysql_fetch_row($studenti)) table_row($row); table_end(); 38

39 Gestore della Form: Controllo dei parametri 39 Spesso la prima cosa da fare è controllare che i parametri immessi nella form soddisfino i requisiti... valori nulli campi numerici lunghezza dei campi stringa spazi in eccesso all inizio o alla fine... (trim) 39

40 Gestore della Form: Controllo dei parametri 40 /* Verifica dei dati immessi */ /* Elimina spazi superflui */ $cognome = trim($cognome); $commento = trim($commento); $matricola = trim($matricola); /* la variabile "errore" indica se tra i dati abbiamo trovato un errore */ $errore=false; /* verifica che almeno uno tra matricola e cognome siano non vuoti */ if (!$cognome &&!$matricola) { echo "<B>Errore! Almeno uno tra nome e matricola devono essere specificati!</b><br />"; $errore=true; }; 40

41 Gestore della Form: Controllo dei parametri 41 /* verifica che la matricola sia numerica */ if ($matricola &&! ctype_digit($matricola)) { echo "<B>Errore! Matricola deve essere numerica!</b><br />"; $errore=true; }; /*... e il cognome alfabetico */ if (preg_match('/^[a-za-z]*$/', $cognome)) { echo "<B>Errore! Cognome deve essere alfabetico!</b><br />"; $errore=true; }; if (!$errore) { /* Inizia la costruzione della query */... }; 41

42 Form e gestore in un unico script 42 Soluzione diversa: form e gestore in un unico script Necessità di distinguere il caso in cui si deve mostrare la form e quello in cui si deve elaborarla Valore associato all input submit Uso di self if (isset($_request['submit'])) # trattamento dei parametri else { # visualizza la form echo<<<end <FORM method="post" action="$_server['php_self']"> <INPUT type="submit" name="submit"> END; }; form.php 42

43 Form e gestore in un unico script 43 Es. mantenere il valore dei campi in caso di errore /* verifica se si esegue lo script per la prima volta: in questo caso bisogna presentare la form */ $first=! isset($_request["submit"]); if (! $first) { /* recupera i dati della form */ $nome=$_request['nome']; $cognome=$_request['cognome']; /* e verifica se il nome soddisfa i criteri */ $errore_nome =! preg_match("/^[a-za-z]*$/",$nome); };... SingleFile.php 43

44 Form e gestore in un unico script 44 if ($first $errore_nome) { /* se lo script si esegue per la prima volta oppure i dati sono errati mostra la form ed eventualmente segnala l errore */ $self = $_SERVER['PHP_SELF']; /* nome dello script corrente */ echo<<<end <FORM method="post" ACTION="$self"> Nome: <INPUT type="text" name="nome" value="$nome"> Cognome: <INPUT type="text" name="cognome" value="$cognome"> <INPUT type="submit" name="submit" value="invia"> <INPUT type="reset" value="cancella"> </FORM> END; /* e se c'era un errore nei dati lo segnala */... SingleFile.php 44

45 Form e gestore in un unico script 45 /* e se c'era un errore nei dati lo segnala */ if ($errore_nome) echo "<B>Errore nel nome!!! Deve essere alfabetico!</b>"; } else { /*! $first &&! $errore_nome */ /* se invece i dati ci sono e sono corretti, li elabora */ echo "elaboro i dati <BR />"; echo "Nome: $nome<br />"; echo "Cognome: $cognome<br />"; }; SingleFile.php 45

46 Invio di mail 46 Da uno script php possiamo inviare una con la funzione mail (to, subject, body, headers) oppure mail (to, subject, body, headers) $to = 'fabio@cli.di.unipi.it'; $subject = 'Ieri'; $message = 'Ciao, come va?'; $headers = 'From: webmaster@bd.com'. "\r\n". 'Reply-To: webmaster@bd.com'; mail($to, $subject, $message, $headers); 46

47 Upload di file: form 47 Occorre utilizzare una form HTML adeguata... <FORM enctype="multipart/form-data" action="upload.php" method="post"> Nome del file: <INPUT type="hidden" name="max_file_size" value="30000" /> <INPUT type="file" name="myfile" /> <BR /> <INPUT type="submit" name="submit" value="invia" /> </FORM> Upload.html 47

48 Upload di file 48 I dati relativi ai file inviati sono accessibili mediante la variabile $_FILES $_FILES['userfile']['name'] Il nome del file sulla macchina di origine $_FILES['userfile']['type'] Il mime type del file (es. "image/gif"). Non sempre affidabile $_FILES['userfile']['size'] La dimensione del file $_FILES['userfile']['tmp_name'] Nome temporaneo del file sul server $_FILES['userfile']['error'] Codice di errore associato all upload 48

49 Upload di file: recupero dei dati 49 /* dimensione massima di upload */ define(dim_max,30000); /* directory locale per la memorizzazione */ $localdir="upload"; /* informazioni sul file */ $error= $_FILES["myfile"]["error"]; /* codice di errore */ $size = $_FILES["myfile"]["size"]; /* dimensione */ $type = $_FILES["myfile"]["type"]; /* mime-type */ $name = $_FILES["myfile"]["name"]; /* nome sul client */ $tmp = $_FILES["myfile"]["tmp_name"]; /* nome sul server */ Upload.php 49

50 Upload di file: error check 50 /* verif. se il file uploaded ha caratteristiche appropriate */ /* si e` verificato un errore? */ if ($error!= UPLOAD_ERR_OK) { echo "Errore di upload. Codice: $error<br />"; } /* tipo corretto? */ elseif (($type!= "image/gif")! && ($type!= "image/jpeg")) { echo "Errore: File di tipo $type. Errato! <BR />"; } /* dimensione */ elseif ($size > DIM_MAX) { echo "Errore: File troppo grande ($size bytes)! <BR />"; } else { /* Tutto ok! Mostra i dati */ Upload.php Upload.php 50

51 Upload di file: recupera il file 51 /* recupera il file */ /* se non è già presente... */ if (file_exists($locadir. "/". $name)) { echo $name. " gia` presente. "; } else { /* lo porta a destinazione... */ move_uploaded_file($tmp, $localdir. "/". $name); echo "Memorizzato in: ". $localdir. "/". $name; } }; Upload.php 51

52 Upload di file 52 Quando si gestiscono operazioni invasive come un upload, può essere opportuno tenere un logfile Supporto in PHP per operare sul log di sistema (/var/log/system.log) Esempio openlog( Upload.php, LOG_PID, LOG_LOCAL0)... syslog(log_warning, "Upload di $name da parte di ". $_SERVER["SERVER_ADDR"]); closelog() 52

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

Basi di Dati-XII. PHP e MySQL. Perché? Come? Corso di Laurea in Informatica Anno Accademico 2013/2014 Basi di Dati-XII Corso di Laurea in Informatica Anno Accademico 2013/2014 PHP e MySQL Paolo Baldan baldan@math.unipd.it http://www.math.unipd.it/~baldan MySQL e PHP Perché? 3 Come? 4 Le applicazioni hanno

Dettagli

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

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014 Laboratorio Progettazione Web PHP e FORMs HTML Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014 Struttura Applicazioni Web Browser Web HTTP Server Web API Dati Presentation Application Storage

Dettagli

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

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server 2) Il Server richiama l'interprete PHP il quale esegue i comandi contenuti nel file.php specificato nell'attributo action del tag form creando un file HTML sulla base dei dati inviati dall utente 1) Il

Dettagli

04/05/2011. Lezione 6: Form

04/05/2011. Lezione 6: Form Lezione 6: Form In alcuni documenti HTML può essere utile creare dei moduli (form) che possono essere riempiti da chi consulta le pagine stesse (es. per registrarsi ad un sito). Le informazioni sono poi

Dettagli

Interazione con l utente : i moduli.

Interazione con l utente : i moduli. Interazione con l utente : i moduli. Nelle lezioni fin qui riportate, non abbiamo mai trattato l input di utente. Nelle applicazioni web, l input dell utente si acquisisce tramite i moduli (o FORM) HTML.

Dettagli

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

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas PHP A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas Copyright Istituto Italiano Edizioni Atlas Programmazione lato server PHP è un linguaggio che estende le funzionalità

Dettagli

Metodologie Informatiche Applicate al Turismo

Metodologie Informatiche Applicate al Turismo Metodologie Informatiche Applicate al Turismo 9. HTML Parte II Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Scienze

Dettagli

PHP e MySQL. Scripting server-side per accesso a DB MySQL

PHP e MySQL. Scripting server-side per accesso a DB MySQL PHP e MySQL Scripting server-side per accesso a DB MySQL Connessione a un DB MySQL Prima di accedere ai dati è necessario creare una connessione con il DB In PHP si utilizza la funzione mysql_connect,

Dettagli

Lezione 6: Form 27/04/2012

Lezione 6: Form 27/04/2012 Lezione 6: Form In alcuni documenti HTML può essere utile creare dei moduli (form) che possono essere riempiti da chi consulta le pagine stesse (es. per registrarsi ad un sito). Le informazioni sono poi

Dettagli

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Contatti BASI DI DATI http://www.diee.unica.it/~giacinto/bd Esercitazione su PHP & MySQL! Roberto Tronci! e-mail: roberto.tronci@diee.unica.it!

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

ESEMPI DI FORM (da www.html.it)

ESEMPI DI FORM (da www.html.it) ESEMPI DI FORM (da www.html.it) Vediamo, nel particolare, tutti i tag che HTML 4.0 prevede per la creazione di form. Questo tag apre e chiude il modulo e raccoglie il contenuto dello stesso,

Dettagli

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

DURANTE LA NAVIGAZIONE NEI SITI WEB I VISITATORI NON SOLO POSSONO CONSULTARE INFORMAZIONI STATICHE MODULI O FORM DURANTE LA NAVIGAZIONE NEI SITI WEB I VISITATORI NON SOLO POSSONO CONSULTARE INFORMAZIONI STATICHE ADATTE ALLA LETTURA MA POSSONO SVOLGERE UN RUOLO ATTIVO NEI CONFRONTI DI UNA PAGINA WEB

Dettagli

Progettazione Web Applicazioni client-server

Progettazione Web Applicazioni client-server Progettazione Web Applicazioni client-server Sviluppo di un'applicazione Web integrando: HTML MySQL PHP Apache Applicativi utilizzabili: gestione database: JDER, MySQL Workbench, HeidiSQL (Win), DBeaver

Dettagli

Dott.ssa Adriana Pietramala

Dott.ssa Adriana Pietramala Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala a.pietramala@mat.unical.it Riferimenti Sito del corso: Manuale PHP http://www.php.net/download-docs.php Editor di

Dettagli

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

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web Corso di PHP 6.1 PHP e il web 1 1 Prerequisiti Conoscenza HTML Tecnica della programmazione Principi di programmazione web 2 1 Introduzione In questa Unità illustriamo alcuni strumenti di programmazione

Dettagli

Strumenti a disposizione

Strumenti a disposizione FORM Strumenti a disposizione L'HTML visto fino ad ora permette di descrivere solo documenti statici e passivi Colori, immagini, testi, etc... L'utente può solo interagire con i link Non sempre questo

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Lavorare con MySQL Parte Seconda.

Lavorare con MySQL Parte Seconda. Lavorare con MySQL Parte Seconda. PHP, dalla versione 4.0, usufruisce difunzioni native per colloquiare con MySQL, senza appoggiarsi ad alcuna libreria o modulo esterno. In questa lezione verranno esaminate

Dettagli

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

I FORM. L'attributo action contiene l'url del file php a cui devono essere inviati i file per essere elaborati. I FORM Che cosa sono e che caratteristiche hanno Un form contiene molti oggetti che permettono di inserire dati usando la tastiera. Tali dati verranno poi inviati alla pagina php che avrà il compito di

Dettagli

Il linguaggio HTML - Parte 3

Il linguaggio HTML - Parte 3 Corso IFTS Informatica, Modulo 3 Progettazione pagine web statiche (50 ore) Il linguaggio HTML - Parte 3 Dott. Chiara Braghin braghin@dti.unimi.it Addenda Vedi tabella caratteri speciali Vedi file caratteri_speciali.html

Dettagli

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE CHIARA FERRARI 5I MERCURIO INDICE: 1. TRACCIA DEL PROBLEMA 2. SVILUPPO DEL PROGETTO (ENTITA, ATTRIBUTI) 3. SCHEMA E-R DELLA BASE DEI

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

Quesiti 6 e 7) - 9 - Creiamo il file query4.php su una piattaforma OPEN SOURCE usando in linguaggio PHP ospitato su un webserver APACHE per interrogare un database MYSQL. Tale file verrà attivato cliccando

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

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

Applicazioni Web: meccanismi per il passaggio di informazioni tramite HTTP Corso di Applicazioni Telematiche Applicazioni Web: meccanismi per il passaggio di informazioni tramite HTTP Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.10 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico

Dettagli

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN Il metodo migliore per creare nuovi DB è quello di usare l interfaccia del PHPMYADMIN (che viene installata automaticamente con il pacchetto easy

Dettagli

Web Programming. Lezione 4: Cookie e Sessioni. Giulio Rossetti 14/04/2011. Guru@Work

Web Programming. Lezione 4: Cookie e Sessioni. Giulio Rossetti 14/04/2011. Guru@Work Web Programming Lezione 4: Cookie e Sessioni Giulio Rossetti Guru@Work 14/04/2011 Contatti Materiale Tutto il materiale del corso sarà reso disponibile sul sito: www.guruatwork.com (e su blog.giuliorossetti.net)

Dettagli

Dott.ssa Adriana Pietramala. Dott.ssa Maria Vittoria Avolio

Dott.ssa Adriana Pietramala. Dott.ssa Maria Vittoria Avolio Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala a.pietramala@mat.unical.it Dott.ssa Maria Vittoria Avolio avoliomv@unical.it Funzioni predefinite substr(stringa,

Dettagli

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28 Indice 25 184 Introduzione XI Capitolo 1 Impostazione dell ambiente di sviluppo 2 1.1 Introduzione ai siti Web dinamici 2 1.2 Impostazione dell ambiente di sviluppo 4 1.3 Scaricamento di Apache 6 1.4 Installazione

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System II parte Progetto gestione booking prenotazioni on-line 1. Progettazione e creazione struttura database che chiameremo booking. 2. Progettazione e creazione di un form

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

Dettagli

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

Architettura a tre livelli (1)

Architettura a tre livelli (1) Elaborazione Automatica dei Dati Php e MySQL Enrico Cavalli Anno Accademico 2012-2013 Architettura a tre livelli (1) Le applicazioni sono sviluppate secondo una architettura a tre livelli, affermatasi

Dettagli

bool mysql_select_db([string database_name [,resource link_identifier]]) Connessione ad un server MySQL vuole conettere

bool mysql_select_db([string database_name [,resource link_identifier]]) Connessione ad un server MySQL vuole conettere Connessione ad un server MySQL resource mysql_connect ([string server [, string username [, string password [, bool new_link [, int client_flags]]]]]) server nome o indirizzo del server username nome utente

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

I Tag dell html. Parte quarta

I Tag dell html. Parte quarta I Tag dell html Parte quarta Le Form I moduli, o form, rendono interattive le pagine Web. Per creare un elemento modulo si usa il tag:

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web PHP Dati View Control

Dettagli

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

Dettagli

Corso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti

Corso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti Corso di Sicurezza Informatica Sicurezza del software Ing. Gianluca Caminiti SQL Injection Sommario Premessa sul funzionamento dei siti dinamici SQL Injection: Overview Scenari di attacco: Errata gestione

Dettagli

PHP e MySQL. Guida scaricata da www.webstyling.it

PHP e MySQL. Guida scaricata da www.webstyling.it Home -> Manuali & Tutorials -> Guida PHP PHP e MySQL E' possibile realizzare delle applicazioni in php appoggiandosi ad un database, quale ad esempio MySQL. Con le novità introdotte ai tempi di MySQL 4.1

Dettagli

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

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.a HTTP request e HTTP response (form e link) MODULO 1 PARTE 3 Programmazione (scripting) server-side con PHP 3.a HTTP request e HTTP response (form e link) Goy - a.a. 2009/2010 Programmazione Web 1 Gli oggetti HTTP request e HTTP response -I Vi ricordate?

Dettagli

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i Esercizi PHP 1. Scrivere uno script PHP che produca in output: 1. La tabellina del 5 2. La tavola Pitagorica contenuta in una tabella 3. La tabellina di un numero ricevuto in input tramite un modulo. Lo

Dettagli

HTML HTML. HyperText Markup Language. Struttura di un documento. Gli elementi essenziali di un documento HTML sono i seguenti TAG: <HTML>...

HTML HTML. HyperText Markup Language. Struttura di un documento. Gli elementi essenziali di un documento HTML sono i seguenti TAG: <HTML>... HTML HyperText Markup Language Struttura di un documento HTML Gli elementi essenziali di un documento HTML sono i seguenti TAG: ... ... ... Struttura di un documento

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation

Dettagli

Lezione III: Oggetti ASP e interazione tramite form HTML

Lezione III: Oggetti ASP e interazione tramite form HTML Lezione III: Oggetti ASP e interazione tramite form HTML La terza lezione, come le precedenti, ha avuto una durata di due ore, di cui una in aula e l altra in laboratorio, si è tenuta alla presenza della

Dettagli

Laboratorio di Tecnologie Web Laurea in Scienze e Tecnologie Multimediali

Laboratorio di Tecnologie Web Laurea in Scienze e Tecnologie Multimediali Laboratorio di Tecnologie Web Laurea in Scienze e Tecnologie Multimediali Docente: Carlo Drioli 31 marzo 2015 Esempio I prova infracorso Esercizio 1 Si consideri un applicazione per la gestione di menu

Dettagli

GRUPPO DOMANDE N. 1. Quesito n. 1 Descrivere sinteticamente le finalità e le modalità d uso dei seguenti comandi UNIX / LINUX: LS, KILL, PS.

GRUPPO DOMANDE N. 1. Quesito n. 1 Descrivere sinteticamente le finalità e le modalità d uso dei seguenti comandi UNIX / LINUX: LS, KILL, PS. GRUPPO DOMANDE N. 1 Quesito n. 1 Descrivere sinteticamente le finalità e le modalità d uso dei seguenti comandi UNIX / LINUX: LS, KILL, PS. Quesito n. 2 Descrivere sinteticamente le finalità d impiego

Dettagli

Form Editor. Dove NomeProfilo è personalizzabile.

Form Editor. Dove NomeProfilo è personalizzabile. Form Editor Il tema permette di generare automaticamente dei moduli per la raccolta di dati in tre semplici step: 1. Si crea una tabella nel database per la raccolta dei dati. Per la creazione si parte

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

PHP e Structured Query Language

PHP e Structured Query Language Esercitazioni del corso di Tecnologie per la Comunicazione Aziendale PHP e Structured Query Language Marco Loregian loregian@disco.unimib.it www.siti.disco.unimib.it/didattica/tca2008 Interrogazioni (ripasso)

Dettagli

Gestione Orario Lezioni: Schema del Database

Gestione Orario Lezioni: Schema del Database Gestione Orario Lezioni: Schema del Database corsi corso studenti studente anno anno docente orario id corso giorno ora1 docenti docente dipartimento email ora2 aula aule aula capienza 1 Gestione Orario

Dettagli

Sicurezza Informatica: Tecniche di SQL INJECTION

Sicurezza Informatica: Tecniche di SQL INJECTION Sicurezza Informatica: Tecniche di SQL INJECTION Pietro Bongli Aprile 2004 N.B. L'informazione contenuta in queste pagine è divulgata per scopi puramente didattici e non per ni illegali. Structured Query

Dettagli

Introduzione ai database relazionali

Introduzione ai database relazionali Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita

Dettagli

La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste degli utenti.

La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste degli utenti. La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste degli utenti. Questa possibilità si materializza attraverso i meccanismi che permettono

Dettagli

PHP - Storia. Inizialmente sviluppato da Rasmus Lerdorf come serie di script CGI

PHP - Storia. Inizialmente sviluppato da Rasmus Lerdorf come serie di script CGI PHP PHP - Storia Inizialmente sviluppato da Rasmus Lerdorf come serie di script CGI Al progetto si unirono Zeev Suraski e Andi Gutmans che ne scrissero l'interprete Zend Oggi è alla versione 5 e può essere

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

Le Basi di Dati. Le Basi di Dati

Le Basi di Dati. Le Basi di Dati Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per

Dettagli

Esercitazione sulle libpq - libreria C per PostgreSQL

Esercitazione sulle libpq - libreria C per PostgreSQL Esercitazione sulle libpq - libreria C per PostgreSQL Roberto Tronci roberto.tronci@diee.unica.it Basi di Dati A.A. 2007/2008 Tronci ( roberto.tronci@diee.unica.it ) Esercitazione libpq Basi di Dati 2007/2008

Dettagli

<?php include './include/page.php';

<?php include './include/page.php'; Il modulo di inserimento Per creare il modulo di inserimento creeremo due file per semplicità: insert.php sarà il file contenente il form dove inserire i dati. Premendo infine il pulsante inserisci si

Dettagli

Utilizzare PHP 5. Le variabili GET e POST

Utilizzare PHP 5. Le variabili GET e POST Utilizzare PHP 5 Corso Interazione Uomo Macchina AA 2005/2006 Le variabili GET e POST La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste

Dettagli

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

Dettagli

Lezione nr. 5. Per creare un modulo è necessario avere delle conoscenze di base del linguaggio HTML. Niente di difficile ovviamente!

Lezione nr. 5. Per creare un modulo è necessario avere delle conoscenze di base del linguaggio HTML. Niente di difficile ovviamente! Lezione nr. 5 >> Come creare un modulo Web I moduli web sono delle strutture fondamentali per ogni sito web e la loro conoscenza ti permetterà di risolvere almeno il 60% delle problematiche di gestione

Dettagli

Lezione 9. Applicazioni tradizionali

Lezione 9. Applicazioni tradizionali Lezione 9 Applicazioni tradizionali Pag.1 Sommario Concetti trattati in questa lezione: SQL nel codice applicativo Cursori API native ODBC Pag.2 SQL nel codice applicativo I comandi SQL possono essere

Dettagli

CONCETTO DI ANNIDAMENTO

CONCETTO DI ANNIDAMENTO LEZIONE14 SQL ANNIDAMENTI PAG. 1 / 5 PROF. ANDREA ZOCCHEDDU LEZIONE14 SQL ANNIDAMENTI CONCETTO DI ANNIDAMENTO LINGUAGGIO SQL QUERY ANNIDATE Per annidamento si intende la possibilità che, all interno di

Dettagli

Appunti su ASP (Active Server Pages)

Appunti su ASP (Active Server Pages) Client Client Appunti su ASP (Active Server Pages) Che cosa è ASP Un server web è un computer che contiene tutte le pagine web di un determinato sito web. In tale computer è installato un software che

Dettagli

Università degli Studi di Cagliari Corso di Laurea in Ingegneria delle Telecomunicazioni. http://www.diee.unica.it/~giacinto/bd

Università degli Studi di Cagliari Corso di Laurea in Ingegneria delle Telecomunicazioni. http://www.diee.unica.it/~giacinto/bd Università degli Studi di Cagliari Corso di Laurea in Ingegneria delle Telecomunicazioni BASI DI DATI http://www.diee.unica.it/~giacinto/bd Esercitazione su PHP & PostgreSQL Docente: Giorgio Giacinto A.A.

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

Applicazione ASP di esempio

Applicazione ASP di esempio Applicazione ASP di esempio Database in rete Prof. Claudio Maccherani Un server web è un programma che gira su un computer sempre collegato ad Internet e che mette a disposizione file, pagine e servizi.

Dettagli

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

Dettagli

Una metodologia di progettazione di applicazioni web centrate sui dati

Una metodologia di progettazione di applicazioni web centrate sui dati Una metodologia di progettazione di applicazioni web centrate sui dati A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 1 / 2 0 1 2 Progettazione logica di un sito web centrato sui dati Si

Dettagli

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7 ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni

Dettagli

PYTHON Inviare dati con i form A cura di Silvio Bonechi [sabandini_at_tiscali_dot_it] per http://www.pctrio.com

PYTHON Inviare dati con i form A cura di Silvio Bonechi [sabandini_at_tiscali_dot_it] per http://www.pctrio.com PYTHON Inviare dati con i form A cura di Silvio Bonechi [sabandini_at_tiscali_dot_it] per http://www.pctrio.com 10.07.2006 Ver. 1.0 In questo articolo vedremo come gestire con un FORM l invio di dati ad

Dettagli

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo Creazione di moduli Creazione di moduli Che cos'è un modulo? Un elenco di domande accompagnato da aree in cui è possibile scrivere le risposte, selezionare opzioni. Il modulo di un sito Web viene utilizzato

Dettagli

Progettazione di un Database

Progettazione di un Database Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di

Dettagli

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014 Laboratorio Progettazione Web PHP e MySQL Andrea Marchetti IIT-CNR 2013/2014 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation Application Storage PHP e DataBase Quando

Dettagli

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)

Dettagli

Obiettivo dell esercitazione

Obiettivo dell esercitazione Database e Web - Esercitazioni ASP - Andrea Proli proliand@csr.unibo.it Laboratorio di Basi di Dati A.A. 2005/2006 Obiettivo dell esercitazione L obiettivo finale dell esercitazione è quello di creare

Dettagli

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.c Cookies e sessioni. Goy - a.a. 2012/2013 Programmazione Web 1

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.c Cookies e sessioni. Goy - a.a. 2012/2013 Programmazione Web 1 MODULO 1 PARTE 3 Programmazione (scripting) server-side con PHP 3.c Cookies e sessioni Goy - a.a. 2012/2013 Programmazione Web 1 Cookie - I Cookie = variabili che il server salva (*) sul client come file

Dettagli

GERARCHIE RICORSIVE - SQL SERVER 2008

GERARCHIE RICORSIVE - SQL SERVER 2008 GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER

Dettagli

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione

Dettagli

Tecnologie e Programmazione Web

Tecnologie e Programmazione Web Presentazione 1 Tecnologie e Programmazione Web Html, JavaScript e PHP RgLUG Ragusa Linux Users Group SOftware LIbero RAgusa http://www.solira.org - Nunzio Brugaletta (ennebi) - Reti 2 Scopi di una rete

Dettagli

Il Web Server e il protocollo HTTP

Il Web Server e il protocollo HTTP Corso PHP Parte 2 Il Web Server e il protocollo HTTP E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta la esegue e restituisce il risultato al browser,

Dettagli

L aspetto dei file HTML

L aspetto dei file HTML L aspetto dei file HTML Le pagine HTML contengono due tipi di oggetti: il testo del documento i TAG HTML Il documento si presenta come una successione di elementi (annidati) del tipo Testo influenzato

Dettagli

GESGOLF SMS ONLINE. Manuale per l utente

GESGOLF SMS ONLINE. Manuale per l utente GESGOLF SMS ONLINE Manuale per l utente Procedura di registrazione 1 Accesso al servizio 3 Personalizzazione della propria base dati 4 Gestione dei contatti 6 Ricerca dei contatti 6 Modifica di un nominativo

Dettagli

ISTRUZIONI INSTALLAZIONE PMANGO

ISTRUZIONI INSTALLAZIONE PMANGO ISTRUZIONI INSTALLAZIONE PMANGO Software necessario: PMango richiede un Web server funzionante con PHP e MySQL e un Web browser. Web server: Apache almeno alla versione 2.0.52 (www.apache.org) PHP: consigliata

Dettagli

MANUALE DI INTEGRAZIONE API SMSSmart (v 2.2)

MANUALE DI INTEGRAZIONE API SMSSmart (v 2.2) MANUALE DI INTEGRAZIONE API SMSSmart (v 2.2) Questo documento contiene le informazioni necessarie per l interfacciamento con il gateway SMS di SMSSmart. Il suo utilizzo è riservato ai clienti che abbiano

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

Lezione nr. 8. Allora ecco come fare per recuperare le ultime tre tipologie di campo che ci sono rimaste da vedere.

Lezione nr. 8. Allora ecco come fare per recuperare le ultime tre tipologie di campo che ci sono rimaste da vedere. Lezione nr. 8 Ciao e benvenuto all ultima lezione del corso base. Innanzitutto voglio complimentarti con te per essere arrivato fino a qui. E stato un percorso un po duro e sei stato bravo nel superare

Dettagli

Esercitazione PAM. (Php Apache MySQL)

Esercitazione PAM. (Php Apache MySQL) Prerequisiti: Esercitazione PAM (Php Apache MySQL) Installazione del server Apache: avvenuta; Installazione del server Php: avvenuta; Sincronizzazione dei due server: avvenuta. Abstract: L esercitazione

Dettagli

SQL Server 2005. Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

SQL Server 2005. Integration Services. SQL Server 2005: ETL - 1. Integration Services Project atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, SQL Server 2005 Integration Services SQL Server 2005:

Dettagli

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

Procedura SMS. Manuale Utente

Procedura SMS. Manuale Utente Procedura SMS Manuale Utente INDICE: 1 ACCESSO... 4 1.1 Messaggio di benvenuto... 4 2 UTENTI...4 2.1 Gestione utenti (utente di Livello 2)... 4 2.1.1 Creazione nuovo utente... 4 2.1.2 Modifica dati utente...

Dettagli

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

Istruzioni DML di SQL

Istruzioni DML di SQL Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,

Dettagli

Cookie e Webstorage. Vediamo ora i metodi dell oggetto localstorage. Per memorizzare un valore si utilizza il metodo setitem:

Cookie e Webstorage. Vediamo ora i metodi dell oggetto localstorage. Per memorizzare un valore si utilizza il metodo setitem: Cookie e Webstorage Un cookie (letteralmente biscotto) è un pacchetto di informazioni che viene salvato sul computer dell utente. In successive sessioni di collegamento a Internet (normalmente per un periodo

Dettagli