Presentazione del progetto

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Presentazione del progetto"

Transcript

1 Esempio Progetto PHP Un piccolo negozio online CORSO: Master di primo livello in tecnologie sicurezza web e networking Docente: Dott.ssa Daniela Remogna 1

2 Presentazione del progetto L azienda InfoTech è un piccolo negozio di informatica che tratta le seguenti categorie di articoli: CHIAVETTE HARD DISK RAM SCHEDE VIDEO PORTATILI ROUTER InfoTech decide di ingrandire la propria attività vendendo i propri prodotti sulla rete di Internet. Infotech ha bisogno di un sito Internet che le consenta di presentare i propri prodotti sul web. Inoltre anche i dipendenti dell azienda con basse competenze informatiche, devono aver la possibilità di inserire nuovi prodotti in modo semplice e veloce. 2

3 Presentazione del progetto Come progettare tutto questo? Prima di tutto bisogna pensare a come strutturare le pagine del sito. Quante sono? Cosa fanno? In linea generale dovranno esserci due categorie di pagine: La prima categoria è quella del front-end e qui troviamo le pagine visibili a tutti gli utenti, ad esempio la pagina catalogo prodotti. La seconda categoria è quella del back-end e qui troviamo le pagine di amministrazione del sito web, come ad esempio la pagina inserisci un nuovo prodotto. Le pagine del back-end dovrebbero essere protette con autenticazione. In questo modo solo il personale dell azienda InfoTech potrà inserire dei nuovi prodotti e non il resto del mondo di internet. La fase di autenticazione non sarà illustrata in questo progetto. Per ora ci accontentiamo di creare la struttura e le pagine senza protezione. 3

4 Struttura delle pagine FRONT-END: index.php prodotti.php GUIDE UTILI BACK-END: admin.php nuova_categoria.php nuovo_prodotto.php inserisci_prodotto.php inserisci_categoria.php RACCOLTA SCRIPT UTILI 4

5 L HOME PAGE la pagina index.php FRONT-END: index.php E la pagina di presentazione del sito. La parte più importante è il link CONSULTA IL CATALOGO che consente di sfogliare per categoria i prodotti registrati nel DATABASE. 5

6 LA PAGINA prodotti.php FRONT-END: prodotti.php E il catalogo prodotti del sito. Cosa fa questa pagina? In poche parole, legge il contenuto di due tabelle presenti nel database e impagina i risultati utilizzando l HTML e i CSS. La prima tabella ad essere letta è CATEGORIE. Mentre la seconda tabella è PRODOTTI. 6

7 LA SEZIONE AMMINISTRATIVA BACK-END: admin.php Questa sezione è quella che utilizzeranno i dipendenti dell azienda InfoTech per aggiungere in modo semplice e veloce nuovi prodotti. La parte più importante di questa pagina è il menu composto dalle voci NUOVO PRODOTTO, NUOVA CATEGORIA, HOME PAGE. 7

8 INSERIMENTO DI UN NUOVO PRODOTTO BACK-END: nuovo_prodotto.php Cosa fa questa pagina? Consente di registrare un nuovo prodotto nel database. La parte più importante è il FORM / MODULO che consente di raccogliere i dati inseriti dal personale dell InfoTech all interno di apposite caselle di testo/textarea e menu a tendina. Notare che il menu a tendina della Categoria viene compilato dinamicamente leggendo il contenuto della tabella Categorie. Il form spedisce i dati alla pagina inserisci_prodotto.php 8

9 LA PAGINA inserisci_prodotto.php BACK-END: inserisci_prodotto.php Cosa fa questa pagina? Raccoglie i dati digitati dal personale dell InfoTech nella pagina nuovo_prodotto.php e li salva nel database all interno della tabella PRODOTTI. 9

10 LA PAGINA nuova_categoria.php BACK-END: nuova_categoria.php Cosa fa questa pagina? Consente di registrare una nuova categoria di prodotti. La parte più importante è il FORM / MODULO che consente di raccogliere i dati inseriti dal personale dell InfoTech all interno delle caselle di testo. E importante che ogni elemento del form abbia un nome univoco (attributo name del tag apposito) 10

11 LA PAGINA prodotti.php BACK-END: inserisci_categoria.php Cosa fa questa pagina? Raccoglie i dati digitati dal personale dell InfoTech nella pagina nuova_categoria.php e li salva nel database all interno della tabella CATEGORIE. 11

12 Flusso pagine per l inserimento di un nuovo prodotto 1 index.php 2 admin.php 3 nuovo_prodotto.php 4 inserisci_prodotto.php 12

13 Progettazione DATABASE Per ogni articolo trattato si desidera visualizzare le seguenti informazioni: IDARTICOLO NOME CATEGORIA DESCRIZIONE QTA PREZZO FOTO 1 CHIAVE USB 1 GB KINGSTON CHIAVETTE Questo modello risponde alle esigenze degli utenti home office, delle piccole aziende e di scuole KIN_MH_51796_DTI_1GB_C.jpg 2 CHIAVETTA USB BRACCIALE 1GB NERO CHIAVETTE La particolarità di questa pen drive è costituita dal fatto che la puoi facilmente indossare come un braccialetto in modo da avere sempre con te i tuoi dati, le tue foto e la tua musica! NEO_MH_55930_PD2104K_2_C.jpg 3 SAMSUNG HARD DISK 80GB 2.5 IDE HARD DISK Una grande capacità di archiviazione associata ad un funzionamento silenzioso ed affidabile SHD_MM_63058_HM080HC.jpg 4 HARD DISK 1 THERA SATA2 GREEN POWER HARD DISK La prima famiglia di hard disk attenti ai consumi! WDG_MM_58362_WD10EACS.jpg 13

14 TECNOLOGIE E necessario creare e progettare un database dove memorizzare i dati dei prodotti trattati. E necessario progettare pagine dinamiche che permettano di inserire nuovi prodotti nel database. Per fare tutto ciò useremo le Tecnologie Web Server Side. 14

15 Tecnologie Web Server Side Php è un modulo aggiuntivo per web servers che permette di creare delle pagine web dinamiche. Esempi di applicazioni: 1. Contatore accessi, Blog 2. Inserire/Modificare/Leggere dati memorizzati in un database 3. Realizzare un sito di commercio elettronico 4. Programmi gestionali che funzionano via WEB (gestione magazzino, gestione commesse etc) LINK di progetti sviluppati in php: CMS(Content Management System): per creare siti web in modo semplice e automatico. URL: Programmi gestionali che funzionano via web: GAFFI - Gestione affitti via WEB: è un programma scritto in PHP eseguibile su server WEB Apache e DBMS Mysql per gestire gli immobili dati in locazione: Software gestione alberghiera: residence/ Open Source E-Commerce: E 15

16 PREREQUISITI (Structured Query Language) è un linguaggio creato per l'accesso a informazioni memorizzate nei DATABASE. Permette di: 1. Creare tabelle 2. Inserire/Modificare/Cancellare dati in tabelle 3. Definire le relazioni 4. etc Si utilizza insieme ad un linguaggio OSPITE, che nel nostro caso è il PHP. Qualsiasi programma gestionale(software per la gestione di prenotazioni Alberghiere, commercio elettronico, gestione commesse) è basato su un database 16

17 SERVER CHE SI UTILIZZERANNO è un Database management system (DBMS) relazionale, composto da un client con interfaccia a caratteri e un server, entrambi disponibili sia per sistemi Unix che per Windows, anche se prevale un suo utilizzo in ambito Unix. Apache è il nome dato alla piattaforma server Web più diffusa (ma anche al gruppo di lavoro open source che ha creato, sviluppato e aggiornato il software server), in grado di operare da sistemi operativi UNIX-Linux e Microsoft. 17

18 EasyPHP è una piattaforma di sviluppo Web, che permette di far funzionare localmente (senza connettersi ad un server esterno) degli script PHP. EasyPHP non è solo un software, ma un ambiente di sviluppo comprendente: 1. due server (un server Web Apache e un server di basi di dati MySQL) 2. un interprete di script PHP 3. un amministratore di database MySQL con interfaccia grafica chiamato phpmyadmin. Dispone di un interfaccia d amministrazione che permette di gestire gli utenti, l avvio e lo spegnimento dei server. Permette di installare in un volta sola tutto il necessario per iniziare lo sviluppo locale di PHP. 18

19 Il server Apache crea automaticamente di default un dominio virtuale (in locale) all indirizzo di localhost (http:// ). EasyPHP può essere utilizzato come applicazione portatile, per esempio attraverso una chiave USB. La versione 2.0 apporta le nuove versioni dei suoi componenti: Apache 2.2.3, PHP 5.2.0, MySQL 5.0.2, PHPMyAdmin , SQLiteManager Il software ha l'enorme vantaggio di installare tutti i software necessari per la progettazione e il funzionamento di un sito web in locale. E' possibile vedere le pagine progettate semplicemente digitando l'indirizzo:http://localhost nella barra degli indirizzi del proprio browser. 19

20 LINK PhpMyAdmin: EasyPhp: Apache: MySql: PHP: 20

21 COSA DOBBIAMO FARE? Dobbiamo creare un nuovo database dove memorizzare i prodotti trattati dall azienda InfoTech. Questo database sarà composto da due tabelle: la tabella Prodotti e la tabella Categorie. 21

22 CREAZIONE DEL DATABASE Per creare un nuovo database è necessario accedere a PhpMyAdmin attraverso la seguente procedura: cliccare sull icona E di easyphp e scegliere la voce Amministrazione, oppure aprire il browser e digitare il seguente url: 22

23 EASY PHP ADMINISTRATION Questa è una pagina di riepilogo che mostra quali sono i server e moduli installati in EasyPhp. Per gestire il server di database Mysql cliccare su Manage Database 23

24 phpmyadmin PhpMyAdmin è un tool che permette di gestire l'amministrazione di database MySQL. Scritto in linguaggio PHP permette di gestire tramite web browser i database contenuti in un server mysql. Cliccando sul menu a tendina (Database) è possibile selezionare un database esistente Qui è possibile creare un nuovo database. 24

25 CREAZIONE DEL DATABASE Per il nostro progetto creiamo un database nominato infotechdb Tutte le operazioni che esegue phpmyadmin sono sempre traducibili in linguaggio SQL. 25

26 CREAZIONE DELLA TABELLA CATEGORIE Un database è composto da una o più tabelle. Per creare una nuova tabella, compilare la maschera presenta in crea una nuova tabella nel database infotechdb. 26

27 Inserimento dei campi Una tabella è composta da uno o più campi (colonne). Ogni tabella dovrebbe avere un campo di tipo chiave primaria che identifica in maniera univoca ogni record(riga) della tabella. Inoltre la chiave primaria viene utilizzata per creare relazioni tra tabelle. Per definire un campo di tipo chiave primaria, mettere la spunta sul simbolo della 27 chiave.

28 Inserimento dei campi La tabella Categoria è composta da due campi: IDCategorie e Nome. Per ogni campo bisogna specificare quale tipo di dato conterrà, un po come le variabili. Il campo IDCategoria sarà la chiave primaria della tabella Categorie, è di tipo INT e si auto incrementa da solo. Cliccare su Salva per confermare la creazione della tabella. Guida sul linguaggio SQL: 28

29 CREAZIONE della tabella CATEGORIE PhpMyAdmin mostra sempre il codice SQL utilizzato per creare la tabella. Cliccare su infotechdb 29

30 CREAZIONE della tabella PRODOTTI E possibile creare altre tabelle compilando la maschera Crea una nuova tabella del database infotechdb Creiamo la tabella prodotti composta da 7 campi e clicchiamo sul pulsante Esegui. 30

31 CREAZIONE dei campi della tabella prodotti In questo caso il campo IDProdotti sarà la chiave primaria della tabella prodotti. Notare che il campo Descrizione è stato impostato di tipo LONGTEXT. 31

32 CREAZIONE dei campi della tabella prodotti Notare che il campo foto non contiene l immagine, ma solo il nome dell immagine o il suo percorso. Questo perché in genere le immagini si salvano all interno di cartelle e sul database si salva solo il nome. 32

33 CREAZIONE dei campi della tabella prodotti Cliccando su Salva viene creata la tabella Prodotti e viene mostrato il codice SQL generato. 33

34 CREAZIONE delle pagine dinamiche A questo punto la fase di creazione del database è terminata. Ora dobbiamo costruire le nostre pagine dinamiche in linguaggio PHP. Partiamo dal BACK-END ovvero costruiamo le pagine per inserire un nuovo prodotto o una nuova categoria nel database. Creiamo in C:\Program Files\EasyPHP1-8\www una cartella di nome infotech e al suo interno memorizzeremo tutti i file del sito. Per accedere al sito sarà sufficiente digitare nella barra degli indirizzi: 34

35 La sezione Amministrativa Creiamo un file php nominato admin.php Questa sezione è semplice, l unica cosa un po particolare è che il menu lo includiamo dinamicamente attraverso l istruzione php include. <? include "menu.inc";?> Questo è il contenuto del file menu.inc: <a class='admin' href='nuovo_prodotto.php'>nuovo PRODOTTO</a> <a class='admin' href='nuova_categoria.php'>nuova CATEGORIA</a> <a class='admin' href='index.php'>home PAGE</a> In questo modo possiamo includere il menu in tutte le pagine della sezione amministrazione. Questo sistema ha il vantaggio di offrire un facile aggiornamento delle voci del menu poiché basta aggiornare un unico file e tutte le pagine di amministrazione si aggiornano di conseguenza. 35

36 La sezione Amministrativa Ecco il listato di codice per creare la pagina admin.php Notare come il codice PHP si mischi con il codice HTML. <HTML> <HEAD> <TITLE>HOME PAGE - INFOTECH IL TUO NEGOZIO DI INFORMATICA ONLINE</TITLE> <LINK rel="stylesheet" href='stile.css'> </HEAD> <BODY> <IMG src='img/testata.jpg'> <H1>INFOTECH IL TUO NEGOZIO DI INFORMATICA ONLINE</H1> <H2>SEZIONE AMMINISTRATIVA</H2> <a href='admin.php'><img src='img/area_amministrativa.jpg'></a><br><br> <p style='width:600px;text-align:justify;font-family:tahoma,verdana,sans-serif;border:1px solid black;'> Benvenuto nell'area amministrativa di <b>infotech.</b><br><br> Tramite il <b>menu</b> sottostante avrai la possibilità di aggiornare la tua banca dati online inserendo <b>nuovi prodotti</b> o <b>nuove categorie</b> compilando le apposite interfacce web. </p> <!-- INCLUDO IL MENU DELLA SEZIONE AMMINISTRATIVA --> <? include "menu.inc" menu.inc";?> <br><br> <IMG src='img/pie_di_pagina.jpg'> </BODY> </HTML> 36

37 La pagina di inserimento di una nuova categoria Creiamo un file php nominato nuova_categoria.php La parte più importante di questa pagina è la maschera di inserimento di un nuova categoria. <FORM action='inserisci_categoria.php' method='get'> <TABLE> <TR> <TD class='newp'>nome Nuova Categoria</TD> <TD><INPUT type='text' name='nome_categoria nome_categoria'></td> </TR> <TR> <TD><INPUT type='reset' value='azzera'> <TD><INPUT type='submit' value='inserisci CATEGORIA'></TD> </TR> </TABLE> </FORM> E importante impostare l attributo name del tag INPUT, perché è in base a quel valore che faremo riferimento al testo digitato all interno della casella di testo tramite PHP. Prestare attenzione anche al metodo di invio del form, in questo caso è il metodo GET. 37

38 Listato pagina nuova_categoria.php <HTML> <HEAD> <TITLE>INSERISCI UNA NUOVA CATEGORIA</TITLE> <LINK rel="stylesheet" href='stile.css'> </HEAD> <BODY> <IMG src='img/testata.jpg'> <H1>INFOTECH IL TUO NEGOZIO DI INFORMATICA ONLINE</H1> <H2>SEZIONE AMMINISTRAZIONE</H2> <? include "menu.inc"?> <H3>INSERISCI UNA NUOVA CATEGORIA</H3> <FORM action='inserisci_categoria.php' method='get'> <TABLE> <TR> <TD class='newp'>nome Nuova Categoria</TD> <TD><INPUT type='text' name='nome_categoria'></td> </TR> <TR> <TD><INPUT type='reset' value='azzera'> <TD><INPUT type='submit' value='inserisci CATEGORIA'></TD> </TR> </TABLE> </FORM> <br><br> <IMG src='img/pie_di_pagina.jpg'> </BODY> </HTML> 38

39 La pagina che salva una nuova categoria Creiamo un file php nominato inserisci_categoria.php. Il primo passo di questo script è quello di leggere il valore digitato nella casella di testo nominata nome_categoria della pagina nuova_categoria.php Siccome il form invia i dati attraverso il metodo GET, per leggerlo si usa l array associativo $_GET Costruisco la query SQL che mi permette di inserire una nuova categoria. <?php $nome_cat=$_get["nome_categoria"]; include "database.inc"; $query="insert INTO Categorie(Nome) VALUES('$nome_cat')"; mysql_query($query) or die("query fallita: ".mysql_error()); Eseguo la query. 39

40 Listato pagina inserisci_categoria.php <HTML> <HEAD> <TITLE>AREA AMMINISTRATIVA - INSERISCI CATEGORIA</TITLE> <LINK rel="stylesheet" href='stile.css'> </HEAD> <BODY> <IMG src='img/testata.jpg'> <H1>INFOTECH IL TUO NEGOZIO DI INFORMATICA ONLINE</H1> <a href='admin.php'><img src='img/area_amministrativa.jpg'></a><br> <? include "menu.inc"?> <?php $nome_cat=$_get["nome_categoria"]; include "database.inc"; $query="insert INTO Categorie(Nome) VALUES('$nome_cat')"; mysql_query($query) or die("query fallita: ".mysql_error()); echo "<br><br><strong>inserimento AVVENUTO CON SUCCESSO</strong><br><br>"; mysql_close($connessione);?> <br><br> <IMG src='img/pie_di_pagina.jpg'> </BODY> </HTML> 40

41 La pagina di inserimento di un nuovo prodotto Creiamo un file php nominato nuovo_prodotto.php La parte più importante di questa pagina è la maschera di inserimento di un nuovo prodotto. Il menu a tendina categoria è compilato in modo dinamico leggendo il contenuto della tabella categorie. Quindi sarà necessario stabilire una connessione con il server di database MySql. Siccome le pagine dinamiche in genere stabiliscono una connessione con il server di database allora si crea un file esterno nominato database.inc che include le istruzioni per collegarsi al server di database. <? /* Stabiliamo la connesione verso il server di Database Mysql */ $connessione= mysql_connect("localhost", "root", "") or die("connessione nn risucita: ". mysql_error()); /** Selezioniamo il database datidb **/ mysql_select_db("infotechdb") or die("selezione database non avvenuta");?> 41

42 La pagina di inserimento di un nuovo prodotto <? /* Stabiliamo la connesione verso il server di Database Mysql */ $connessione= mysql_connect("localhost", "root", "") or die("connessione nn risucita: ". mysql_error()); /** Selezioniamo il database datidb **/ mysql_select_db("infotechdb") or die("selezione database non avvenuta");?> Descrizione delle funzioni PHP utilizzate: mysql_connect stabilice una connessione ad un server MySQL. Il primo parametro indica l indirizzo del server, il secondo la username, il terzo la password (in questo caso la password è nulla). mysql_select_db seleziona un database MySQL. Accetta come parametro il nome del database con cui si desidera lavorare. mysql_error Restituisce il testo dell'errore dall'ultima funzione MySQL, oppure '' (la stringa vuota) se nessun errore intercorre. Gli errori ritornano dal database MySQL senza visualizzare i messaggi di avvertimento. Si usa invece mysql_error() per recuperare il testo dell'errore. die equivale alla funzione exit. Interrompe l esecuzione dello script e stampa il messaggio specificato. Elenco di tutte le funzioni mysql: 42

43 La pagina di inserimento di un nuovo prodotto Le funzioni più importanti di questa fase sono: mysql_query() invia una query al database selezionato Solo per le istruzioni SELECT mysql_query() restituisce un identificativo di risorsa o FALSE se la query non è stata eseguita correttamente. Per altri tipi di istruzioni SQL(UPDATE,DELETE,INSERT) mysql_query() restituisce TRUE in caso di successo e FALSE in caso di errore. <SELECT name='categoria_prodotto'> <!-- I VALORI LI LEGGIAMO DALLA TABELLA CATEGORIE --> <? include "database.inc"; $query="select IDCategorie, Nome FROM CATEGORIE"; $risultato=mysql_query($query) or die("errore nella query". mysql_error()); while($riga=mysql_fetch_array($risultato,mysql_assoc)){ echo "<OPTION value=". $riga['idcategorie']. ">". $riga['nome']. "</OPTION>\n"; </SELECT>?> } mysql_free_result($risultato); mysql_close($connessione); 43

44 La pagina di inserimento di un nuovo prodotto mysql_fetch_array: restituisce un array che corrisponde alla riga caricata o FALSE se non ci sono più righe. Si utilizza quando si lavora con un istruzione SQL di tipo SELECT che puo restituire 0, 1 o più righe di una tabella. Questa funzione ci permette di scorrere riga per riga la tabella. Il ciclo while continua finché non è diverso da FALSE. Si potrebbe anche scrivere così: $riga=mysql_fetch_array($risultato,mysql_assoc); while($riga!=false){ echo.. ; $riga=mysql_fetch_array($risultato,mysql_assoc); } <SELECT name='categoria_prodotto'> <!-- I VALORI LI LEGGIAMO DALLA TABELLA CATEGORIE --> <? include "database.inc"; $query="select IDCategorie, Nome FROM CATEGORIE"; $risultato=mysql_query($query) or die("errore nella query". mysql_error()); while($riga=mysql_fetch_array($risultato,mysql_assoc)){ echo "<OPTION value=". $riga['idcategorie']. ">". $riga['nome']. "</OPTION>\n"; </SELECT>?> } mysql_free_result($risultato); mysql_close($connessione); 44

45 La pagina di inserimento di un nuovo prodotto mysql_fetch_array è una versione estesa di mysql_fetch_row(). Oltre a memorizzare i dati del risultato in array con indice numerico, questa li memorizza anche con indici associativi usando i nomi dei campi come chiavi. Il secondo argomento opzionale tipo_risultato in mysql_fetch_array() è una costante e può assumere i seguenti valori: MYSQL_ASSOC, MYSQL_NUM e MYSQL_BOTH. Usando MYSQL_BOTH, si ottiene un array con entrambe gli indici (associativo e numerico). Usando MYSQL_ASSOC, si ottengono solo gli indici associativi, usando MYSQL_NUM, si ottengono solo gli indici numerici <SELECT name='categoria_prodotto'> <!-- I VALORI LI LEGGIAMO DALLA TABELLA CATEGORIE --> <? include "database.inc"; $query="select IDCategorie, Nome FROM CATEGORIE"; $risultato=mysql_query($query) or die("errore nella query". mysql_error()); while($riga=mysql_fetch_array($risultato,mysql_assoc)){ echo "<OPTION value=". $riga['idcategorie']. ">". $riga['nome']. "</OPTION>\n"; </SELECT>?> } mysql_free_result($risultato); mysql_close($connessione); 45

46 La pagina di inserimento di un nuovo prodotto Notare che come <option value è impostata la chiave primaria della tabella categoria. Mentre poi viene visualizzata il nome della categoria. Questo perché il form invia poi il valore della chiave primaria e non il nome della categoria. In questo modo nella tabella prodotti si salva la chiave primaria della tabella categoria e si imposta la relazione tra le due tabelle. mysql_free_result() libera tutta la memoria associata. mysql_free_result() deve essere richiamata solo se si è preoccupati sulla quantità di memoria usata dalle query che restituiscono dei grandi risultati. Tutta la memoria associata al risultato è automaticamente liberata al termine dell'esecuzione dello script. <SELECT name='categoria_prodotto'> <!-- I VALORI LI LEGGIAMO DALLA TABELLA CATEGORIE --> <? include "database.inc"; $query="select IDCategorie, Nome FROM CATEGORIE"; $risultato=mysql_query($query) or die("errore nella query". mysql_error()); while($riga=mysql_fetch_array($risultato,mysql_assoc)){ echo "<OPTION value=". $riga['idcategorie']. ">". $riga['nome']. "</OPTION>\n"; </SELECT>?> } mysql_free_result($risultato); mysql_close($connessione); 46

47 Listato pagina nuovo_prodotto.php <HTML> <HEAD> <TITLE>INSERISCI UN NUOVO PRODOTTO</TITLE> <LINK rel="stylesheet" href='stile.css'> </HEAD> <BODY> <IMG src='img/testata.jpg'> <H1>INFOTECH IL TUO NEGOZIO DI INFORMATICA ONLINE</H1> <H2>SEZIONE AMMINISTRAZIONE</H2> <? include "menu.inc"?> <H3>INSERISCI UN NUOVO PRODOTTO</H3> <!-- CREIAMO IL FORM PER L'INSERIMENTO DEI DATI --> <FORM action='inserisci_prodotto.php' method='post'> <TABLE class='inserimento'> <!-- SELEZIONIAMO LA CATEGORIA --> <TR> <TD class='newp'>categoria</td> 47

48 Listato pagina nuovo_prodotto.php <TD> <SELECT name='categoria_prodotto'> <!-- I VALORI LI LEGGIAMO DALLA TABELLA CATEGORIE --> <? include "database.inc"; $query="select IDCategorie, Nome FROM CATEGORIE"; $risultato=mysql_query($query) or die("errore nella query". mysql_error()); while($riga=mysql_fetch_array($risultato,mysql_assoc)){ echo "<OPTION value=". $riga['idcategorie']. ">".$riga['nome']."</option>\n"; } mysql_free_result($risultato); mysql_close($connessione);?> </SELECT> </TD> </TR> <TR> <TD class='newp'>nome:</td> <TD><INPUT type='text' name='nome_prodotto' size='30'></td> </TR> <TR> <TD class='newp'>descrizione:</td> <TD><TEXTAREA name='descr_prodotto'></textarea></td> </TR> <TR> <TD class='newp'>qta:</td> <TD><INPUT type='text' name='qta_prodotto' size='4'></td> </TR> 48

49 Listato pagina nuovo_prodotto.php <TR> <TD class='newp'>prezzo:</td> <TD><INPUT type='text' name='prezzo_prodotto' size='4'></td> </TR> <TR> <TD class='newp'>foto:</td> <TD><INPUT type='text' name='foto_prodotto' size='30'></td> </TR> <TR> <TD class='newp'><input type='reset' VALUE='CANCELLA'></TD> <TD><INPUT type='submit' VALUE='INSERISCI PRODOTTO'></TD> </TR> </TABLE> </FORM> <IMG src='img/pie_di_pagina.jpg'> </BODY> </HTML> 49

50 La pagina che salva il prodotto nel database Il compito principale della pagina inserisci_prodotto.php è quello di raccogliere i dati inseriti nel form della pagina nuovo_prodotto.php e di memorizzarli all interno di apposite variabili. Siccome i dati sono stati inviati con il metodo POST per leggere i valori si usa l array associativo $_POST. <?php $nome_prod=$_post["nome_prodotto"]; $cat_prod=$_post["categoria_prodotto"]; $descr=$_post["descr_prodotto"]; $quantita=$_post["qta_prodotto"]; $prezzo=$_post["prezzo_prodotto"]; $foto=$_post["foto_prodotto"]; 50

51 La pagina che salva il prodotto nel database La fase successiva è quello di stabilire la connessione al database. Sicome dobbiamo salvare un nuovo prodotto nel database creeremo una query di tipo inserimento e la eseguiremo tramite la funzione php mysql_query. include "database.inc"; $query="insert INTO Prodotti(Nome,Categoria,Descrizione,Qta,Prezzo,Foto) VALUES('$nome_prod','$cat_prod','$descr',$quantita,$prezzo,'$foto')"; mysql_query($query) or die("query fallita: ".mysql_error()); 51

52 Listato pagina inserisci_prodotto.php <HTML> <HEAD> <TITLE>AREA AMMINISTRATIVA - INSERISCI PRODOTTO</TITLE> <LINK rel="stylesheet" href='stile.css'> </HEAD> <BODY> <IMG src='img/testata.jpg'> <H1>INFOTECH IL TUO NEGOZIO DI INFORMATICA ONLINE</H1> <a href='admin.php'><img src='img/area_amministrativa.jpg'></a> <?php $nome_prod=$_post["nome_prodotto"]; $cat_prod=$_post["categoria_prodotto"]; $descr=$_post["descr_prodotto"]; $quantita=$_post["qta_prodotto"]; $prezzo=$_post["prezzo_prodotto"]; $foto=$_post["foto_prodotto"]; Questo va tutto su un unica riga include "database.inc"; $query="insert INTO Prodotti(Nome,Categoria,Descrizione,Qta,Prezzo,Foto) VALUES('$nome_prod','$cat_prod','$descr',$quantita,$prezzo,'$foto')"; mysql_query($query) or die("query fallita: ".mysql_error()); echo "<br><br><strong>inserimento AVVENUTO CON SUCCESSO</strong><br><br>"; mysql_close($connessione);?> <br> <IMG src='img/pie_di_pagina.jpg'> </BODY> </HTML> 52

53 Il catalogo prodotti Creiamo un file nominato prodotti.php I prodotti sono suddivisi per categorie, in questo caso abbiamo 5 categorie(chiavette, SCHEDE VIDEO, HARD DISK, PORTATILI, SCHEDE AUDIO). Per visualizzare i prodotti che appartengono a una categoria è necessario cliccare sulla voce corrispondente nel menu a sinistra. La cosa più importante di questa pagina è che riceve sempre un parametro nominato id. Notare la URL nella barra degli indirizzi: Il parametro id in questo caso identifica la categoria. Questo significa che le voci del menu delle categorie a sinistra sono composte nel modo seguente: Ogni volta che clicchiamo su una categoria, richiamiamo sempre la pagina prodotti.php e gli passiamo l idl della categoria che desideriamo visualizzare. <a href= prodotti.php prodotti.php?id=1 >CHIAVETTE</a> <a href= prodotti.php prodotti.php?id=2 >SCHEDE VIDEO</a> <a href= prodotti.php prodotti.php?id=3 >HARD DISK</a> E così via.. 53

54 Il catalogo prodotti Come prima cosa componiamo il menu delle categorie: Notare come si compone ogni collegamento ipertestuale. include "database.inc"; $query_cat="select * FROM Categorie"; $risult_cat=mysql_query($query_cat) or die("errore nella query". mysql_error()); while($riga=mysql_fetch_array($risult_cat,mysql_assoc)){ echo "<A href='prodotti.php?id=". $riga['idcategorie']. "'>". $riga['nome']. "</a> <br>"; } 54

55 Il catalogo prodotti Successivamente mostriamo i prodotti che appartengono alla categoria selezionata. Quindi come prima cosa dobbiamo leggere il parametro id passato alla pagina secondo questo formato prodotti.php?id=3 E facile notare che questo modo di passare i parametri è identico a quello utilizzato dai form con il metodo GET. Di conseguenza nella pagina prodotti.php per sapere qual è la categoria selezionata useremo un codice simile al seguente: $categoria_selezionata=$_get[ id id ]; Ora costruiamo una query di selezione con un vincolo,, cioè vogliamo SELEZIONARE tutti i prodotti dalla tabella PRODOTTI DOVE la categoria è uguale a $categoria_selezionata. Questo in linguaggio SQL si traduce in un istruzione come la seguente: SELECT * FROM Prodotti WHERE Categoria= $categoria_selezionata $categoria_selezionata In questo caso l asterisco l indica prendi tutti i campi della tabella. $categoria_selezionata=$_get['id']; $query="select * FROM Prodotti WHERE Categoria=$categoria_selezionata"; $risult_prod=mysql_query($query) or die("errore nella query". mysql_error()); 55

56 Il catalogo prodotti A questo punto non ci resta che impaginare i risultati. Notare come è inserita la foto del prodotto. echo "\n\t<td> <img src='foto/". $riga['foto']. "'></td>"; In questo esempio tutte le immagini dei prodotti sono memorizzati i all interno della cartella foto presente in C:\Program Files\EasyPHP1 EasyPHP1-8\www\INFOTECH\foto e sul database si salva solo il nome dell immagine immagine. Per farla visionare nella pagina si utilizza il tag HTML IMG. echo "<table>"; echo "<tr><th>foto</th><th>nome</th><th>descrizione</th><th>qta</th><th>prezzo</th></tr>"; while($riga=mysql_fetch_array($risult_prod,mysql_assoc)){ echo "\n\t<tr>"; echo "\n\t<td> <img src='foto/". $riga['foto']. "'></td>"; echo "\n\t<td>". $riga['nome']. "</td>"; echo "\n\t<td width=200px> ". $riga['descrizione']. "</td>"; echo "\n\t<td> ". $riga['qta']. "</td>"; echo "\n\t<td align='right'><b><span style='color:red'>". $riga['prezzo']. " </span></b></td>"; echo "</tr>"; } echo "</table>"; 56

2. Costruire un database con Apache, PHP e MySql

2. Costruire un database con Apache, PHP e MySql 2. Costruire un database con Apache, PHP e MySql Lo scopo di questa esercitazione è realizzare un server web e costruire un database accessibile attraverso Internet utilizzando il server Apache, il linguaggio

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

APPUNTI DI PHP : V INFORMATICA SEZIONE G

APPUNTI DI PHP : V INFORMATICA SEZIONE G APPUNTI DI PHP : V INFORMATICA SEZIONE G Prof. Conti R. mysql_connect() Apre una connessione verso un DB MySQL. $db = mysql_connect([$db_host[, $db_username[, $db_password[, $newlink[,$clientflags]]]]]);

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

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database PHP ed i database PHP 5 Accesso a database PHP funziona con molti database relazionale che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP)

PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP) PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP) Augusto Scatolini (webmaster@comunecampagnano.it) (a.scatolini@linux4campagnano.net) Miniguida n. 183 Ver. 1.0 aprile 2013 La prima guida

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

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

PHP 5. Accesso a database

PHP 5. Accesso a database PHP 5 Accesso a database PHP ed i database PHP funziona con molti database relazionali che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

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

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Pag. 1/1 Sessione ordinaria 2010 Seconda prova scritta Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

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

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 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

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

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

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

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

Un client su arduino invia i dati acquisiti ad un database

Un client su arduino invia i dati acquisiti ad un database Un client su arduino invia i dati acquisiti ad un database PROBLEMA Si vogliono inviare, periodicamente, i dati acquisiti da alcuni sensori ad un database presente su di un server. Arduino con shield Ethernet

Dettagli

Introduzione ad EasyPHP

Introduzione ad EasyPHP Introduzione ad EasyPHP http://www. easyphp.org Per chiarimenti, http://www.ing.unibs.it/~alberto.lazzaroni 1 EasyPHP: cosa è, a cosa serve EasyPHP è una piattaforma di sviluppo Web (ambienti di sviluppo

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

Questo punto richiederebbe uno sviluppo molto articolato che però a mio avviso va al di là delle possibilità fornite al candidato dal tempo a disposizione. Mi limiterò quindi ad indicare dei criteri di

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

PHP. Per poter interagire con i dati che si trovano sul server remoto occorrono strumenti server-side.

PHP. Per poter interagire con i dati che si trovano sul server remoto occorrono strumenti server-side. PHP Il linguaggio HTML e i linguaggi di scripting come Javascript impongono alcune limitazioni alle applicazioni che si possono realizzare : per esempio non è possibile costruire un sito Web che consenta

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

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

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

M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Pag. 1/1 Sessione ordinaria 2009 Seconda prova scritta M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA Tema di: INFORMATICA (Testo valevole per i corsi di

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

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

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

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Nozioni di base sull utilizzo di PHP e di MySQL

Nozioni di base sull utilizzo di PHP e di MySQL Nozioni di base sull utilizzo di PHP e di MySQL Che cos è PHP? Mi sento in dovere prima di iniziare ad illustrare le nozioni di base di PHP introdurre dicendo PHP che cos è in sostanza; fino a qualche

Dettagli

Perchè un database? Perchè un database? Tipi di DataBase. Scegliere un database. ! Sicurezza. ! Evitare la ridondanza. ! Architettura multilivello

Perchè un database? Perchè un database? Tipi di DataBase. Scegliere un database. ! Sicurezza. ! Evitare la ridondanza. ! Architettura multilivello ! Evitare la ridondanza Perchè un database? Avere PHP che assembla le pagine velocemente da un modello ed un DB è un esperienza unica. Con lo sforzo di programmazione di una pagina, si possono produrre

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

Le mie immagini su WEB: l ABC per iniziare. 6 maggio 2008

Le mie immagini su WEB: l ABC per iniziare. 6 maggio 2008 Le mie immagini su WEB: l ABC per iniziare 6 maggio 2008 1 1) Le nostre immagini su internet; perchè? 2) il WEB...il pc di chi accede (il client)...il sito (server); 3) costruzione del sito (design, strumenti

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

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server)

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server) MODULO 1 PARTE 3 Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server) Goy - a.a. 2009/2010 Programmazione Web 1 Informazione persistente Se vogliamo tener traccia

Dettagli

RELAZIONE RELATIVA ALLA GESTIONE DEL SITO DI E-COMMERCE

RELAZIONE RELATIVA ALLA GESTIONE DEL SITO DI E-COMMERCE Gabriele Fiorani 5^D Mercurio 2012/2013 RELAZIONE RELATIVA ALLA GESTIONE DEL SITO DI E-COMMERCE TRACCIA DEL PROBLEMA Realizzare un sito di tipo e-commerce che consenta di gestire l intera procedura informatica

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

Applicazione client-server in PHP con database MySQL

Applicazione client-server in PHP con database MySQL Applicazione client-server in PHP con database MySQL Emanuele Scapin 1 1 Liceo Statale F.Corradini, via Milano 1, 36016 Thiene 30/05/2012 1 Premessa Dopo la trattazione di argomenti teorici di progettazione

Dettagli

Introduzione a PHP Gestione dei Dati e della Conoscenza

Introduzione a PHP Gestione dei Dati e della Conoscenza Introduzione a PHP Gestione dei Dati e della Conoscenza Diego De Cao, Roberto Basili {decao,basili}@info.uniroma2.it a.a. 2008/2009 PHP Overview PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor")

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

CMS (Content Management System) della categoria Open Source

CMS (Content Management System) della categoria Open Source Una panoramica sui CMS (Content Management System) CMS (Content Management System) della categoria Open Source Per la piattaforma PHP/MYSQL e considerata l esigenza sempre più ricorrente di realizzare

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

4 Pubblicare i dati MySQL

4 Pubblicare i dati MySQL 4 Pubblicare i dati MySQL sul Web Eccoci: questo è ciò che probabilmente vi interessava di più! In questo capitolo imparerete le procedure per prendere delle informazioni contenute in un database per poi

Dettagli

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,

Dettagli

ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO SPERIMENTALE Progetto ABACUS SIMULAZIONE PROVA SCRITTA DI INFORMATICA

ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO SPERIMENTALE Progetto ABACUS SIMULAZIONE PROVA SCRITTA DI INFORMATICA Istituto di Istruzione Superiore Alessandrini - Marino ESAME DI STATO DI ISTITUTO TECICO IDUSTRIALE CORSO SPERIMETALE Progetto ABACUS SIMULAZIOE PROVA SCRITTA DI IFORMATICA La società PcTeramo srl è una

Dettagli

Installazione & Configurazione Php e MySQL su Mac Os X. Php

Installazione & Configurazione Php e MySQL su Mac Os X. Php Installazione & Configurazione Php e MySQL su Mac Os X Php PHP è un linguaggio di scripting interpretato, con licenza Open Source, originariamente concepito per la realizzazione di pagine web dinamiche.

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

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

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE Il software ideale per la gestione delle prenotazioni GUIDA UTENTE Presentazione... 2 Installazione... 3 Prima esecuzione... 6 Registrazione del programma... 8 Inserimento Immobile... 9 Inserimento proprietario...

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

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI Nicoletta Barbaro 4C Mercurio TRACCIA DEL PROBLEMA: RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI Un'azienda che distribuisce film in formato dvd chiede ad una software house(4c mercurio)

Dettagli

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. 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

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

2.1 Installazione e configurazione LMS [4]

2.1 Installazione e configurazione LMS [4] 2.1 Installazione e configurazione LMS [4] Prerequisti per installazione su server: Versione PHP: 4.3.0 o superiori (compatibilità a php5 da versione 3.0.1) Versione MySql 3.23 o superiori Accesso FTP:

Dettagli

Laboratorio di sistemi Web Application in Php5 Php

Laboratorio di sistemi Web Application in Php5 Php Applicazioni web con Xampp, Php5 e NetBeans 6.5 (Windows) Vogliamo ora riscrivere a titolo di prova un'applicazione web precedentemente scritta in Java (si legga l'articolo all'indirizzo http://www.mauriziocozzetto.net/pdf/dao_mysql.pdf).

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

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

SIMULAZIONE DI PROVA SCRITTA ESAME DI STATO DI ISTITUTO TECNICO 2014/15. Indirizzo: INFORMATICA E TELECOMUNICAZIONI (Nuovo ordinamento)

SIMULAZIONE DI PROVA SCRITTA ESAME DI STATO DI ISTITUTO TECNICO 2014/15. Indirizzo: INFORMATICA E TELECOMUNICAZIONI (Nuovo ordinamento) Prof. Mauro De Berardis ITT "Alessandrini" Teramo 1 SIMULAZIONE DI PROVA SCRITTA ESAME DI STATO DI ISTITUTO TECNICO 2014/15 Indirizzo: INFORMATICA E TELECOMUNICAZIONI (Nuovo ordinamento) Articolazione:

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

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System) (DataBase Management System) Sistemi di ges3one di basi di da3 Un Database Management System è un sistema software progettato per consentire la creazione e manipolazione efficiente di database (collezioni

Dettagli

M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA Tema di: INFORMATICA GENERALE E APPLICAZIONI TECNICO SCIENTIFICHE Un negozio on line chiede che sia progettato

Dettagli

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com 15.03.2006 Ver. 1.0 Scarica la versione pdf ( MBytes) Nessuno si spaventi! Non voglio fare né un manuale

Dettagli

Creazione ed uso di un data base in ACCESS Lezioni ed esercizi

Creazione ed uso di un data base in ACCESS Lezioni ed esercizi Creazione ed uso di un data base in ACCESS Lezioni ed esercizi 1 ACCESS Gli archivi Gli archivi sono un insieme organizzato di informazioni. Aziende Clienti e fornitori Personale Magazzino Enti pubblici

Dettagli

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0 AJAX Goy - a.a. 2006/2007 Servizi Web 1 Cos'è il Web 2.0 Web 2.0 = termine introdotto per la prima volta nel 2004 come titolo di una conferenza promossa dalla casa editrice O Reilly L'idea è che ci si

Dettagli

Guida a PHP. Primi esempi

Guida a PHP. Primi esempi Guida a PHP Php è un modulo aggiuntivo per web server che permette di creare delle pagine web dinamiche. Una pagina in Php è composta sia da tag html, sia da parti in codice di programmazione Php. Ogni

Dettagli

SISTEMA EDITORIALE WEBMAGAZINE V.2.2

SISTEMA EDITORIALE WEBMAGAZINE V.2.2 SISTEMA EDITORIALE WEBMAGAZINE V.2.2 1 - Il funzionamento di Web Magazine Web Magazine è un applicativo pensato appositamente per la pubblicazione online di un giornale, una rivista o un periodico. E'

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

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

Dettagli

phpmyedit con codice offuscato (Editor istantaneo di tabelle MySQL e generatore di codice PHP, open source)

phpmyedit con codice offuscato (Editor istantaneo di tabelle MySQL e generatore di codice PHP, open source) phpmyedit con codice offuscato (Editor istantaneo di tabelle MySQL e generatore di codice PHP, open source) Augusto Scatolini (webmaster@comunecampagnano.it) Ver. 1.0 Marzo 2011 Dopo aver visto DaDaBIK

Dettagli

Lavorare con MySQL Parte Prima.

Lavorare con MySQL Parte Prima. Lavorare con MySQL Parte Prima. Data la particolarità dell argomento, ho deciso di dividerlo in due lezioni. Nella prima, si parlerà diffusamente di MySQL, cos è un DBMS, cos è l SQL, i campi supportati

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

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

Corso Creare Siti WEB

Corso Creare Siti WEB Corso Creare Siti WEB INTERNET e IL WEB Funzionamento Servizi di base HTML CMS JOOMLA Installazione Aspetto Grafico Template Contenuto Articoli Immagini Menu Estensioni Sito di esempio: Associazione LaMiassociazione

Dettagli

VERIFICA CORSO: MASTER DI PRIMO LIVELLO IN TECNOLOGIE DI SICUREZZA WEB E NETWORKING CODICE CORSO: B22-75-2008-0

VERIFICA CORSO: MASTER DI PRIMO LIVELLO IN TECNOLOGIE DI SICUREZZA WEB E NETWORKING CODICE CORSO: B22-75-2008-0 VERIFICA CORSO: MASTER DI PRIMO LIVELLO IN TECNOLOGIE DI SICUREZZA WEB E NETWORKING CODICE CORSO: B22-75-2008-0 UNITA FORMATIVA: LE TECNOLOGIE WEB LATO CLIENT DOCENTE: DANIELA REMOGNA DATA: 28 APRILE 2008

Dettagli

PHP: form, cookies, sessioni e. Pasqualetti Veronica

PHP: form, cookies, sessioni e. Pasqualetti Veronica PHP: form, cookies, sessioni e mysql Pasqualetti Veronica Form HTML: sintassi dei form 2 Un form HTML è una finestra contenente vari elementi di controllo che consentono al visitatore di inserire informazioni.

Dettagli

RELAZIONE DI PROGETTO DELL ESAME STRUMENTI PER APPLICAZIONI WEB

RELAZIONE DI PROGETTO DELL ESAME STRUMENTI PER APPLICAZIONI WEB RELAZIONE DI PROGETTO DELL ESAME STRUMENTI PER APPLICAZIONI WEB Studente: Nigro Carlo N.mat.: 145559 Tema: Negozio virtuale Nome sito: INFOTECH Url: http://spaw.ce.unipr.it/progetti/infotech Per il progetto

Dettagli

Richiami sugli elementi del linguaggio HTML

Richiami sugli elementi del linguaggio HTML Richiami sugli elementi del linguaggio HTML Un documento in formato Web può essere aperto con un browser, attraverso un collegamento a Internet oppure caricandolo dal disco del proprio computer senza connettersi

Dettagli

Sessione ordinaria 2005 Seconda prova scritta M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

Sessione ordinaria 2005 Seconda prova scritta M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Istituto di Istruzione Superiore Alessandrini - Marino 1 Sessione ordinaria 2005 Seconda prova scritta M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Una etichetta discografica indipendente chiede

Dettagli

Pagine Asp. Pagine Asp

Pagine Asp. Pagine Asp Pagine Asp Architettura web Esistono alcune limitazioni alle applicazioni che si possono realizzare in HTML, ad esempio non è possibile costruire un sito web che consenta all utente di accedere ai dati

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

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

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

2009. STR S.p.A. u.s. Tutti i diritti riservati

2009. STR S.p.A. u.s. Tutti i diritti riservati 2009. STR S.p.A. u.s. Tutti i diritti riservati Sommario COME INSTALLARE STR VISION CPM... 3 Concetti base dell installazione Azienda... 4 Avvio installazione... 4 Scelta del tipo Installazione... 5 INSTALLAZIONE

Dettagli

Esame di stato Informatica Corso Programmatori a.s. 2000/2001

Esame di stato Informatica Corso Programmatori a.s. 2000/2001 La storia di Internet mette in evidenza che il diffondersi delle reti telematiche ha influenzato non solo il campo tecnico della comunicazione tra computer, ma anche le abitudini di vita dei singoli e

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

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

Introduzione a phpmyadmin

Introduzione a phpmyadmin Introduzione a phpmyadmin http://www.phpmyadmin.net Per chiarimenti, http://www.ing.unibs.it/~alberto.lazzaroni 1 phpmyadmin: cosa è, a cosa serve È un software di amministrazione di database MySql (MySql

Dettagli

La connessione php-mysql con MySQLi

La connessione php-mysql con MySQLi La connessione php-mysql con MySQLi Premessa Lo scenario che si intende alla base di questo capitolo è di disporre di un ambiente phpmysql rappresentato nel seguente schema: L'applicazione php viene eseguita

Dettagli

CMS (Content Management System) della categoria Open Source

CMS (Content Management System) della categoria Open Source Una panoramica sui CMS (Content Management System) CMS (Content Management System) della categoria Open Source Per la piattaforma PHP/MYSQL e considerata l esigenza sempre più ricorrente di realizzare

Dettagli

Esercizi ed appunti PHP

Esercizi ed appunti PHP Indice 1. Informazioni sulla versione PHP installata... 2 2. Generatore di numeri random... 2 3. Contatore di visitatori... 2 4. Programma di inserimento di un nuovo record in un file... 4 scrivi_record.htm...

Dettagli

Accesso a basi di dati con ASP. Algoritmo per visualizzare un DB

Accesso a basi di dati con ASP. Algoritmo per visualizzare un DB Accesso a basi di dati con ASP 1 Algoritmo per visualizzare un DB 1. creare una connessione tra lo script ASP e il database 2. Costruire una QUERY in linguaggio SQL che opera sul database 3. Recuperare

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

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

FileMaker 12. Guida ODBC e JDBC

FileMaker 12. Guida ODBC e JDBC FileMaker 12 Guida ODBC e JDBC 2004 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker, Inc.

Dettagli

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

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML Reti Linguaggio HTML 1 HTML = Hypertext Markup Language E il linguaggio usato per descrivere documenti ipertestuali Ipertesto = Testo + elementi di collegamento ad altri testi (link) Linguaggio di markup:

Dettagli