Relazione scritta relativa alla gestione del sito E-Commerce MediaWorld

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Relazione scritta relativa alla gestione del sito E-Commerce MediaWorld"

Transcript

1 PALA CHRISTIAN Classe 5^I Mercurio A.S. 2012/2013 I.T.E. A. BASSI Relazione scritta relativa alla gestione del sito E-Commerce MediaWorld Traccia del problema Realizzare un sito web di e-commerce che consenta di gestire l intera procedura informatica e che permetta al visitatore di visualizzare i prodotti presenti in magazzino, al responsabile MediaWorld di visualizzare tutti i clienti che eseguono la registrazione al sito web. Realizzare in PHP con MySQL: un'area contenente l'archivio prodotti. La visualizzazione di tali prodotti deve poter avvenire senza necessariamente registrarsi al sito, e quindi senza effettuare il login successivamente, ma direttamente consultando la home page del sito web; un'area protetta da username e password, dedicata ai responsabili del negozio, dove vengono gestiti i dati del cliente, gli acquisti effettuati sul sito e il magazzino dei prodotti; un area protetta da username e password dedicata ai clienti. Una volta effettuata la registrazione, quest ultimi potranno accedere, utilizzando le loro credenziali, all area che consentirà loro di effettuare l acquisto dei prodotti presenti in magazzino. Analisi di massima La traccia del problema chiede di creare un sito web di e-commerce dove i clienti potranno, senza registrarsi, visualizzare tutti i prodotti messi a disposizione del negozio e successivamente, solo dopo aver effettuato la registrazione, potranno loggarsi (utilizzando username e password da loro scelti) e acquistare direttamente on-line. Agli amministratori è dedicata un area protetta da username e password, dalla quale potranno gestire le registrazione dei clienti, visualizzare gli acquisti e i prodotti presenti nel magazzino. Analisi completa Variabili utilizzate Le variabili utilizzate vengono riportate nella tabella sottostante. Nome Variabili Pagina in cui è inserita Funzione della variabile $ID clienti_a1.php, clienti_q1.php, Identifica il codice cliente $nome $cognome $ $indirizzo $usarname $password $nom clienti_m1.php clienti_2.php, clienti_a1.php, clienti_m1.php, clienti_q1.php clienti_2.php, clienti_a1.php, clienti_m1.php, clienti_q1.php clienti_2.php, clienti_a1.php, clienti_m1.php, clienti_q1.php clienti_2.php, clienti_a1.php, clienti_m1.php, clienti_q1.php clienti_2.php, clienti_a1.php, clienti_m1.php, clienti_q1.php clienti_2.php, clienti_a1.php, clienti_m1.php, clienti_q1.php acquisti_2.php, acquisti_a1.php, acquisti_m1.php, acquisti_q1.php Identifica il nome del cliente Identifica il cognome del cliente Identifica l del cliente Identifica l indirizzo del cliente Identifica l username del cliente Identifica la password del cliente Identifica il nome del prodotto acquistato 1

2 $codpro $pre $quaacc_new $codacc $codpro $nompro $preuni $quanti $selezi acquisti_2.php, acquisti_a1.php, acquisti_m1.php, acquisti_q1.php acquisti_2.php, acquisti_a1.php, acquisti_m1.php, acquisti_q1.php acquisti_2.php, acquisti_a1.php, acquisti_m1.php, acquisti_q1.php acquisti_a1.php, acquisti_q1.php, acquisti_m1.php prodotti2_2.php, prodotti2_a1.php, prodotti2_m1.php, prodotti2_q1.php prodotti2_2.php, prodotti2_a1.php, prodotti2_m1.php, prodotti2_q1.php prodotti2_2.php, prodotti2_a1.php, prodotti2_m1.php, prodotti2_q1.php prodotti2_2.php, prodotti2_a1.php, prodotti2_m1.php, prodotti2_q1.php clienti_a2.php, clienti_m2.php acquisti_a2.php, acquisti_m2.php prodotti2_a2.php, prodotti2_m2.php Identifica il codice del prodotto acquistato Identifica il prezzo del prodotto acquistato Identifica la quantità acquistata Identifica il codice acquisto Identifica il codice del prodotto Identifica il nome del prodotto Identifica il prezzo unitario del prodotto Identifica la quantità disponibile Verifica se l utente ha effettuato la selezione del record $db in tutte le pagine PHP Connessione al Database MySQL $num in tutte le pagine PHP Verifica che i dati siano inseriti correttamente $sqlinter in tutte le pagine PHP Variabile per l inserimento di dati $user loghi_1.php Identifica l username dell amministratore $pass loghi_1.php Identifica la password dell amministratore $host checklogin.php Identifica il server a cui si collega $username checklogin.php Identifica l username dell utente $password checklogin.php Identifica la password del server $db_name checklogin.php Identifica il nome del database $tbl_name checklogin.php Identifica il nome della tabella dei clienti $num elabora_form.php Identifica i record estratti $db_selected paginacliente.php Selezione del database $res paginacliente.php Esecuzione dei comandi SQL di interr. $num paginacliente.php N. record estratti dal comando SQL $i paginacliente.php Visualizzazione dei record estratti Modello E/R CLIENTI 1:N N:1 acquistano PRODOTTI I campi sottolineati identificano le chiavi primarie e i campi in corsivo quelle secondarie. CLIENTI (ID, nome, cognome, username, password, indirizzo, ) ACQUISTI (codacc, nom, codpro, pre, quaacc_new) PRODOTTI2 (codpro, nompro, preuni, quanti) 2

3 Modello concettuale CLIENTI ID nome cognome username password indirizzo 1 N ACQUISTI codacc nom codpro pre quaacc_new N 1 PRODOTTI2 codpro nompro preuni quanti Regole di vincolo 1. Tra la tabella CLIENTI e ACQUISTI esiste una relazione 1:N perche ogni cliente può effettuare più acquisti. 2. Tra la tabella PRODOTTI2 e ACQUISTI esiste una relazione 1:N perché un prodotto può essere acquistato più volte. Tracciati record Tabella CLIENTI Nome tabella: CLIENTI Numero campi: 7 Descrizione: anagrafica clienti Organizzazione logica: sequenziale ad indici Chiave primaria: ID Campi Tipo Lungh. Dec. Descrizione Formato Controlli Note ID int 11 0 Codice Cliente 9(11) auto_increment K+ nome varchar 30 0 Nome Cliente X(30) cognome varchar 30 0 Cognome Cliente X(30) username varchar 12 0 Username Cliente X(12) password varchar 12 0 Password Cliente X(12) indirizzo varchar Indirizzo Cliente X(200) varchar Cliente X(100) 3

4 Tabella ACQUISTI Nome tabella: ACQUISTI Numero campi: 5 Descrizione: registrazione acquisti Organizzazione logica: sequenziale ad indici Chiave primaria: codacc Chiave secondaria: codpro Campi Tipo Lungh. Dec. Descrizione Formato Controlli Note codacc int 11 0 Codice Acquisto 9(11) auto_increment K+ nom varchar 50 0 Nome Prodotto X(50) codpro char 6 0 Codice Prodotto 9(6) pre decimal 10 2 Prezzo Totale 9(10,2) quaacc_new int 3 0 Quantità acquistata 9(3) Tabella PRODOTTI2 Nome tabella: PRODOTTI2 Numero campi: 4 Descrizione: registrazione prodotti Organizzazione logica: sequenziale ad indici Chiave primaria: codpro Campi Tipo Lungh. Dec. Descrizione Formato Controlli Note codpro char 6 0 Codice Prodotto 9(6) K+ nompro varchar 20 0 Nome Prodotto X(20) preuni decimal 10 2 Prezzo Unitario 9(10,2) quanti int 3 0 Quantità disponibile 9(3) Concetto di INTEGRITA REFERENZIALE L integrità referenziale impone che i dati raccolti e memorizzati in un database siano coerenti con il loro schema logico. Un vincolo di integrità è una regola definita sullo schema logico di un database. Un vincolo è rappresentato mediante un espressione booleana (o logica) che è vera (TRUE) se una combinazione di dati soddisfa il vincolo; se invece i dati violano il vincolo, l espressione logica non è vera (FALSE). 4

5 Queries CREAZIONE Tabella CLIENTI CREATE table clienti (ID int(11) primary key auto_increment, nome varchar(30) NOT NULL, cognome varchar(30) NOT NULL, username varchar(12) NOT NULL, password varchar(12) NOT NULL, indirizzo varchar(200) NOT NULL, varchar(100) NOT NULL) ENGINE=InnoDB; Tabella PRODOTTI2 CREATE table prodotti2 (codpro char(6) primary key, nompro varchar(20) NOT NULL, preuni decimal(10,2) NOT NULL, quanti int(3) NOT NULL) ENGINE=InnoDB; Tabella ACQUISTI CREATE table acquisti (codacc int(11) primary key auto_increment, nom varchar(50) NOT NULL, codpro char(6) NOT NULL, pre decimal(10,2) NOT NULL, quaacc_new int(3) NOT NULL, FOREIGN KEY (codpro) REFERENCES prodotti2 (codpro)) ENGINE=InnoDB; INSERIMENTO Tabella CLIENTI INSERT clienti (nome, cognome, username, password, indirizzo, ) values ( Luigi, Rossi, luigirossi, luigi1994, Via Lodi, ); Tabella PRODOTTI2 INSERT prodotti2 (codpro, nompro, preuni, quanti) values ( , Apple i-phone 5, 729,00, 15 ); Tabella ACQUISTI INSERT acquisti (nom, codpro, pre, quaacc_new) values ( Apple i- Phone 5, , 729,00, 1 ); 5

6 MODIFICA Tabella CLIENTI UPDATE clienti SET indirizzo= Via Roma WHERE ID= 1 ; Tabella PRODOTTI2 UPDATE prodotti2 SET preuni= 650,00, quanti= 13 WHERE codpro= ; Tabella ACQUISTI UPDATE acquisti SET quaacc_new= 2 WHERE codacc= 1 ; VISUALIZZAZIONE Tabella CLIENTI SELECT * FROM clienti; Tabella PRODOTTI2 SELECT * FROM prodotti2; Tabella ACQUISTI SELECT * FROM acquisti; CANCELLAZIONE Tabella CLIENTI DELETE from clienti where ID= 1 ; Tabella PRODOTTI2 DELETE from prodotti2 where codpro= ; Tabella ACQUISTI DELETE from acquisti where codacc= 1 ; 6

7 Area applicativa Pagine HTML e PHP Per la creazione del sito web sono stati utilizzati il linguaggio PHP e il linguaggio SQL. Il PHP è un linguaggio di programmazione che può essere ospitato dentro una pagina HTML; il PHP è un linguaggio che viene eseguito sul server e non direttamente sul computer dell utente. Il linguaggio SQL è un linguaggio che consente di leggere, modificare o gestire dei dati inseriti in un database. INSERIMENTO CLIENTI clienti_1.php <html> <head> <title>inserimento Clienti</title> </head> <body> echo "Inserire i dati del cliente e inviare il form"; echo "<form action='clienti_2.php' method='post'>"; echo "Nome cliente<input name='nome' size='30' maxlength='30'><br>"; echo "Cognome cliente<input name='cognome' size='30' maxlength='30'><br>"; echo "Via cliente<input name='indirizzo' size='30' maxlength='200'><br>"; echo " cliente<input name=' ' size='30' maxlength='100'><p>"; echo "Username<input name='username' size='30' maxlength='12'> <p>"; echo "Password<input name='password' size='30' maxlength='12'><p>"; echo "<input type='submit' value='invia'>"; echo "<input type='reset' value='cancella'>"; echo "</form>";?> </body> </html> 7

8 clienti_2.php <html> <head> <title>inserimento Clienti</title> </head> <body> // Inizializzazione delle variabili $nome=$_post['nome']; $cognome=$_post['cognome']; $ =$_post[' ']; $indirizzo=$_post['indirizzo']; $username=$_post['username']; $password=$_post['password']; // Connessione al db MySQL $db=mysql_connect("localhost","root"); // Creazione del comando SQL per l'inserimento dei dati $sqlinter = "insert clienti"; $sqlinter.= "(username, password, nome, cognome, indirizzo, )"; $sqlinter.= " values "; $sqlinter.= "('$username', '$password', '$nome', '$cognome', '$ ','$indirizzo')"; // Invio dei dati mysql_db_query("my_cpala", $sqlinter); // Verifica che i dati siano stati inseriti correttamente $num=mysql_affected_rows(); // Controllo che il record sia stato inserito if ($num>0) echo "Nuovo record inserito correttamente.<p>"; else echo "ERRORE!!! Record non inserito<p>"; // Chiusura del database mysql_close($db);?> </body> </html> CANCELLAZIONE CLIENTI clientii_a1.php <html> <head> <title>annullamento Clienti</title> </head> <body> Selezionare il record da cancellare:<p> <form action="clienti_a2.php" method="post"> // Connessione al database MySQL $db=mysql_connect("localhost","root"); 8

9 ?> <p> // Creazione della variabile per l'interrogazione $sqlinterr ="select * from clienti "; // Esecuzione dell'interrogazione $res=mysql_db_query("my_cpala",$sqlinterr); // Numero di record estratti dall'interrogazione $num=mysql_num_rows($res); // Intestazione della tabella echo "<table border='1' align='center'> <tr> <td>id</td> <td>username</td> <td>password</td> <td>nome cliente</td> <td>cognome cliente</td> <td>indirizzo cliente</td> <td> cliente</td> </tr>"; // Visualizzazione dei record estratti for ($i=0; $i<$num; $i++) { $ID=mysql_result($res,$i,"ID"); $username=mysql_result($res,$i,"username"); $password=mysql_result($res,$i,"password" ); $nome=mysql_result($res,$i,"nome"); $cognome=mysql_result($res,$i,"cognome"); $ =mysql_result($res,$i," "); $indirizzo=mysql_result($res,$i,"indirizzo"); // Visualizzazione della riga con radio echo "<tr> <td><input type='radio' name='selezi' value='$id'></td>"; echo " <td>$id</td> <td>$username</td> <td>$password</td> <td>$nome</td> <td>$cognome</td> <td>$ </td> <td>$indirizzo</td> </tr>"; } // Chiusura della tabella echo "</table>"; // Chiusura del database mysql_close($db); <input type="submit" value="cancellare il record"> </form> </body> </html> 9

10 clienti_a2.php <html> <head> <title>cancellazione Clienti</title> </head> <body> // Inizializzazione delle variabili $selezi=$_post['selezi']; // Controllo che l'utente abbia selezionato il record da cancellare if ($selezi) { // Connessione al database MySQL $db=mysql_connect("localhost", "root"); // Creazione del comando sql di cancellazione $sqlinterr="delete from clienti where"; $sqlinterr.=" ID='$selezi'"; // Invio del comando SQL $res=mysql_db_query("my_cpala", $sqlinterr); // Risultato della cancellazione $num=mysql_affected_rows(); if ($num>0)echo "Record cancellato<p>"; else echo "Record non cancellato<p>"; // Chiusura database mysql_close($db); } else echo "Non è stato selezionato nessun record<p>";?> </body> </html> 10

11 MODIFICA CLIENTI clienti_m1.php <html> <head> <title>modifica Clienti</title> </head> <body> echo "<h2><center>selezionare il record da modificare</center></h2>"; echo "<form action='clienti_m2.php' method='post'>"; // Connessione al db MySQL $db=mysql_connect("localhost","root"); /* Costruzione della variabile $sqlinterr per la visualizzazione dei record */ $sqlinterr = "select * from clienti"; // Esecuzione del comando di interrogazione $sqlinterr $res=mysql_db_query("my_cpala",$sqlinterr); $num=mysql_num_rows($res); // Intestazione della tabella echo "<table border='1' align='center'>"; echo "<tr> <td>id</td> <td>username</td> <td>password</td> <td>nome</td> <td>cognome</td> <td> </td> <td>indirizzo</td> </tr>"; // Estrapolazione dei valori degli attributi for ($i=0;$i<$num;$i++) { $ID=mysql_result($res,$i,"ID"); $username=mysql_result($res,$i,"username"); $password=mysql_result($res,$i,"password" ); $nome=mysql_result($res,$i,"nome"); $cognome=mysql_result($res,$i,"cognome"); $ =mysql_result($res,$i," "); $indirizzo=mysql_result($res,$i,"indirizzo"); // Visualizzazione degli attributi in tabella echo "<tr> <td><input type='radio' name='selezi' value='$id'></td> <td>$id</td> <td>$username</td> <td>$password</td> <td>$nome</td> <td>$cognome</td> <td>$ </td> <td>$indirizzo</td> </tr>"; } 11

12 echo "</table>"; // Chiusura del db MySQL mysql_close($db); // Bottone per l'invio dei dati a clienti_m2.php echo "<p><center><input type='submit' value='record da modificare'></center>"; echo "</form>";?> </body> </html> clienti_m2.php <html> <head> <title>modifica Clienti</title> </head> <body> // Definizione delle variabili $selezi=$_post['selezi']; if ($selezi) { // Connessione al DB MySQL $db=mysql_connect("localhost","root"); 12

13 /* Costruzione della variabile $sqlinterr per la visualizzazione dei record */ $sqlinterr = "select * from clienti "; $sqlinterr.= "where clienti.id='$selezi'"; // Esecuzione del comando select $res=mysql_db_query("my_cpala",$sqlinterr); //$num=mysql_num_rows($res); // Lettura del contenuto del record trovato $ID_old=mysql_result($res,0,"ID"); $username_old=mysql_result($res,0,"username" ); $password_old=mysql_result($res,0,"password"); $nome_old=mysql_result($res,0,"nome"); $cognome_old=mysql_result($res,0,"cognome"); $ _old=mysql_result($res,0," "); $indirizzo_old=mysql_result($res,0,"indirizzo"); // Creazione della mappa a video per la modifica echo "<h3><center>gestione clienti: modifica</center></h3><p>"; echo "<form action='utenti_m3.php' method='post'>"; echo "<input name='id_new' value='$id_old'> ID<br>"; echo "<input name='username_new' value='$username_old'> Username<br>"; echo "<input name='password_new' value='$password_old'> Password<br>"; echo "<input name='nome_new' value='$nome_old'>nome cliente<p>"; echo "<input name='cognome_new' value='$cognome_old'> Cognome cliente<p>"; echo "<input name=' _new' value='$ _old'> <p>"; echo "<input name='indirizzo_new' value='$indirizzo_old'> Indirizzo<p>"; echo "<input type='hidden' name='id' value='$selezi'>"; echo "<input type='submit' value='modifica'> "; echo "<input type='reset' value='cancella'>"; echo "</form>"; // Chiusura del DB MySQL mysql_close($db); } else echo "ERRORE!!! Selezionare un utente...";?> </body> </html> 13

14 clienti_m3.php <html> <head> <title>modifica Clienti</title> </head> <body> // Inizializzazione delle variabili $ID_new=$_POST['ID_new']; $username_new=$_post['username_new']; $password_new=$_post['password_new']; $nome_new=$_post['nome_new']; $cognome_new=$_post['cognome_new']; $ _new=$_post[' _new']; $indirizzo_new=$_post['indirizzo_new']; $ID=$_POST['ID']; // Connessione al DB MySQL $db=mysql_connect("localhost","root"); /* Costruzione della variabile $sqlinterr per la modifica del record selezionato */ $sqlinterr = "update clienti set "; $sqlinterr.=" ID='$ID_new',"; $sqlinterr.=" username='$username_new',"; $sqlinterr.=" password='$password_new',"; 14

15 ?> </body> </html> $sqlinterr.=" nome='$nome_new' "; $sqlinterr.=" cognome='$cognome_new' "; $sqlinterr.=" ='$ _new' "; $sqlinterr.=" indirizzo='$indirizzo_new' "; $sqlinterr.= "where ID='$ID'"; // Esecuzione del comando $sqlinterr mysql_db_query("my_cpala",$sqlinterr); // N. di record soggetti alla modifica $num = mysql_affected_rows(); // Se il record è stato trovato viene modificato. if ($num>0) echo "Record modificato.<p>"; else echo "ERRORE!!! Record non modificato.<p>"; // Chiusura del DB MySQL mysql_close($db); VISUALIZZAZIONE CLIENTI clienti_q1.php <html> <head> <title>consultazione Clienti</title> </head> <body> // Apertura del Database MySQL) $db=mysql_connect("localhost","root"); // Costruzione della variabile da eseguire in SQL $sqlinterr = "select * from clienti "; /* Apertura del DB sito inserito nel Data Base MySQL */ // $db_selected = mysql_select_db('my_cpala', $db); // Esecuzione del comando di interrogazione SQL $res=mysql_db_query("my_cpala",$sqlinterr); $res=mysql_query($sqlinterr); // N. di record estratti dal comando SQL $num=mysql_num_rows($res); // Costruzione dell'intestazione della tabella echo "<h2><center>consultazione Clienti</center></h2>"; echo "<table border='3' align='center'> <tr> <td>id</td> <td>username</td> <td>password</td> <td>nome</td> <td>cognome</td> <td> </td> <td>indirizzo</td> 15

16 ?> </body> </html> </tr>"; // Visualizzazione del contenuto dei record trovati for ($i=0;$i<$num;$i++) { $ID=mysql_result($res,$i,"ID"); $username=mysql_result($res,$i,"username"); $password=mysql_result($res,$i,"password" ); $nome=mysql_result($res,$i,"nome"); $cognome=mysql_result($res,$i,"cognome"); $ =mysql_result($res,$i," "); $indirizzo=mysql_result($res,$i,"indirizzo"); // Visualizzazione dei dati letti echo "<tr> <td>$id</td> <td>$username</td> <td>$password</td> <td>$nome</td> <td>$cognome</td> <td>$ </td> <td>$indirizzo</td> </tr>"; } // Chiusura della tabella echo "</table>"; // Chiusura del Data Base MySQL mysql_close($db); 16

17 INSERIMENTO ACQUISTI acquisti_1.php <html> <head> <title>inserimento Acquisti</title> </head> <body> echo "<center>"; echo "<font face='comic sans MS' color=red><h2>inserire i dati relativi agli acquisti e alle vendite</h2>"; echo "<form action='acquisti_2.php' method='post'>"; echo "Nome prodotto<br><input name='nom' size='50' maxlength='50'><p>"; echo "Codice prodotto <br><input name='codpro' size='6' maxlength='6'><p>"; echo "Costo complessivo<br> <input name='pre' size='12' maxlength='12'><p>"; echo " Quantità acquistata<br> <input name='quaacc_new' size='4' maxlength='4'><p>"; echo "<input type='submit' value='invia'>"; echo "<input type='reset' value='cancella'>"; echo "</center>"; echo "</form>"; echo "</font>";?> </body> </html> 17

18 acquisti_2.php <html> <head> <title>inserimento Acquisti</title> </head> <body> //Inizializzazione delle variabili $nom=$_post['nom']; $codpro=$_post['codpro']; $pre=$_post['pre']; $quaacc_new=$_post['quaacc_new']; //Connessione al db mysql $db=mysql_connect("localhost","root") //Creazione del comando sql per l'inserimento dei dati $sqlinterr="insert acquisti "; $sqlinterr.="(nom, codpro, pre, quaacc_new)"; $sqlinterr.=" values "; $sqlinterr.="('$nom','$codpro','$pre','$quaacc_new')"; //Invio dei dati alla tabella attori del db proiezioni05; mysql_db_query("my_cpala",$sqlinterr); //Verifica che i dati siano stati inseriti correttamente $num=mysql_affected_rows(); //Controllo che il record sia stato inserito if($num>0) echo"nuovo record inserito correttamente. <p>"; else echo"errore! Record non inserito. <p>"; //Chiusura del database mysql_close($db);?> </body> </html> CANCELLAZIONE ACQUISTI acquisti_a1.php <html> <head> <title>cancellazione acquisti</title> </head> <body> <h2><b>selezionare il record da cancellare:</b></h2><p> <form action="acquisti_a2.php" method="post"> // Connessione al database MySQL $db=mysql_connect("localhost","root"); // Creazione della variabile per l'interrogazione $sqlinterr ="select * from acquisti"; 18

19 // Esecuzione dell'interrogazione $res=mysql_db_query("my_cpala",$sqlinterr); // Numero di record estratti dall'interrogazione $num=mysql_num_rows($res); // Intestazione della tabella echo "<table border='1' align='center'> <tr> <td>selezione</td> <td>codice acquisto</td> <td>codice prodotto</td> <td>nome prodotto</td> <td>costo complessivo</td> <td>quantità acquistata</td> </tr>"; // Visualizzazione dei record estratti for ($i=0; $i<$num; $i++) { $codacc=mysql_result($res,$i,"codacc"); $codpro=mysql_result($res,$i,"codpro"); $nom=mysql_result($res,$i,"nom"); $pre=mysql_result($res,$i,"pre"); $quaacc_new=mysql_result($res,$i,"quaacc_new"); // Visualizzazione della riga con radio echo "<tr> <td><input type='radio' name='selezi' value='$codacc'></td>"; echo " <td>$codacc</td> <td>$codpro</td> <td>$nom</td> <td>$pre</td> <td>$quaacc_new</td> </tr>"; } // Chiusura della tabella echo "</table>"; // Chiusura del database mysql_close($db);?> <input type="submit" value="cancellare il record"> </form> </center> </body> </html> 19

20 acquisti_a2.php <html> <head> <title>cancellazione Clienti</title> </head> <body> // Inizializzazione delle variabili $selezi=$_post['selezi']; // Controllo che l'utente abbia selezionato il record da cancellare if ($selezi) { // Connessione al database MySQL $db=mysql_connect("localhost", "root"); // Creazione del comando sql di cancellazione $sqlinterr="delete from acquisti where"; $sqlinterr.=" codacc='$selezi'"; // Invio del comando SQL $res=mysql_db_query("my_cpala", $sqlinterr); // Risultato della cancellazione $num=mysql_affected_rows(); if ($num>0)echo "Record cancellato<p>"; else echo "Record non cancellato<p>"; 20

21 ?> </body> </html> // Chiusura database mysql_close($db); } else echo "Non è stato selezionato nessun record<p>"; MODIFICA ACQUISTI acquisti_m1.php <html> <head> <title>modifica Acquisti</title> </head> <body> echo "<h2><b><center>selezionare il record da modificare</center></b></h2>"; echo "<form action='acquisti_m2.php' method='post'>"; // Connessione al DB MySQL $db=mysql_connect("localhost","root"); /* Costruzione della variabile $sqlinterr per la visualizzazione dei record */ $sqlinterr = "select * from acquisti"; // Esecuzione del comando di interrogazione $sqlinterr $res=mysql_db_query("my_cpala",$sqlinterr); $num=mysql_num_rows($res); // Inizio della tabella echo "<table border='1' align='center'>"; // Titolo echo "<tr> <td>selezione</td> <td>codice acquisto</td> <td>codice prodotto</td> <td>nome prodotto</td> <td>costo complessivo</td> <td>quantità acquistata</td> </tr>"; // Estrapolazione dei valori degli attributi for ($i=0;$i<$num;$i++) { $codacc=mysql_result($res,$i,"codacc"); $codpro=mysql_result($res,$i,"codpro"); $nom=mysql_result($res,$i,"nom"); $pre=mysql_result($res,$i,"pre"); $quaacc_new=mysql_result($res,$i,"quaacc_new"); 21

22 // Visualizzazione degli attributi in tabella echo "<tr> <td><input type='radio' name='selezi' value='$codacc'></td> <td>$codacc</td> <td>$codpro</td> <td>$nom</td> <td>$pre</td> <td>$quaacc_new</td> </tr>"; } echo "</table>"; // Chiusura del DB MySQL mysql_close($db); // Bottone per l'invio dei dati a acquisti_m2.php echo "<p><center><input type='submit' value='record da modificare'></center>"; echo "</form>";?> </body> </html> 22

23 acquisti_m2.php <html> <head> <title>modifica Acquisti</title> </head> <body> // Definizione delle variabili $selezi=$_post['selezi']; if ($selezi) { // Connessione al DB MySQL $db=mysql_connect("localhost","root"); /* Costruzione della variabile $sqlinterr per la visualizzazione dei record */ $sqlinterr = "select * from acquisti "; $sqlinterr.= "where acquisti.codacc='$selezi'"; // Esecuzione del comando select $res=mysql_db_query("my_cpala",$sqlinterr); //$num=mysql_num_rows($res); // Lettura del contenuto del record trovato $codacc_old=mysql_result($res,0,"codacc"); $codpro_old=mysql_result($res,0,"codpro"); $nom_old=mysql_result($res,0,"nom"); $pre_old=mysql_result($res,0,"pre"); $quaacc_new_old=mysql_result($res,0,"quaacc_new"); // Creazione della mappa a video per la modifica echo "<h3><center>gestione acquisti e vendite: modifica</center></h3><p>"; echo "<form action='acquisti_m3.php' method='post'>"; echo " Codice acquisto<br><input name='codacc_new' value='$codacc_old'><p>"; echo " Codice prodotto<br><input name='codpro_new' value='$codpro_old'><p>"; echo " Nome prodotto<br><input name='nom_new' value='$nom_old'><p>"; echo " Costo complessivo<br><input name='pre_new' value='$pre_old'><p>"; echo " Quantità acquistata<br><input name='quaacc_new' value='$quaacc_new_old'><p>"; echo "<input type='hidden' name='codacc' value='$selezi'>"; echo "<input type='submit' value='modifica'> "; echo "<input type='reset' value='cancella'>"; echo "</form>"; // Chiusura del DB MySQL mysql_close($db); } else echo "ERRORE!!! Selezionare un acquisto...<p>";?> </body> </html> 23

24 acquisti_m3.php <html> <head> <title>modifica Acquisti</title> </head> <body> // Inizializzazione delle variabili $codacc_new=$_post['codacc_new']; $codpro_new=$_post['codpro_new']; $nom_new=$_post['nom_new']; $pre_new=$_post['pre_new']; $quaacc_new=$_post['quaacc_new']; $codacc=$_post['codacc']; // Connessione al DB MySQL $db=mysql_connect("localhost","root"); /* Costruzione della variabile $sqlinterr per la modifica del record selezionato */ $sqlinterr = "update acquisti set "; $sqlinterr.=" codacc='$codacc_new',"; $sqlinterr.=" codpro='$codpro_new',"; $sqlinterr.=" nom='$nom_new',"; $sqlinterr.=" pre='$pre_new',"; $sqlinterr.=" quaacc_new='$quaacc_new'"; $sqlinterr.= "where codacc='$codacc'"; 24

25 ?> </body> </html> // Esecuzione del comando $sqlinterr mysql_db_query("my_cpala",$sqlinterr); // N. di record soggetti alla modifica $num = mysql_affected_rows(); // Se il record è stato trovato viene modificato. if ($num>0) echo "Record modificato.<p>"; else echo "ERRORE!!! Record non modificato.<p>"; // Chiusura del DB MySQL mysql_close($db); VISUALIZZAZIONE ACQUISTI acquisti_q1.php <html> <head> <title>visualizzazione Acquisti</title> </head> <body> // Apertura del Database MySQL $db=mysql_connect("localhost","root"); // Costruzione della variabile da eseguire in SQL $sqlinterr = "select * from acquisti "; /* Apertura del DB sito inserito nel DataBase MySQL */ // $db_selected = mysql_select_db('my_cpala', $db); // Esecuzione del comando di interrogazione SQL $res=mysql_db_query("my_cpala",$sqlinterr); $res=mysql_query($sqlinterr); // N. di record estratti dal comando SQL $num=mysql_num_rows($res); // Costruzione dell'intestazione della tabella echo "<h2><center>consultazione acquisti e vendite</center></h2>"; echo "<table border='1' align='center'> <tr> <td>codice acquisto</td> <td>codice prodotto</td> <td>nome prodotto</td> <td>costo complessivo</td> <td>quantità acquistata</td> </tr>"; // Visualizzazione del contenuto dei record trovati for ($i=0;$i<$num;$i++) { $codacc=mysql_result($res,$i,"codacc"); $codpro=mysql_result($res,$i,"codpro"); $nom=mysql_result($res,$i,"nom"); 25

26 ?> </body> </html> $pre=mysql_result($res,$i,"pre"); $quaacc_new=mysql_result($res,$i,"quaacc_new"); // Visualizzazione dei dati letti echo "<tr> <td>$codacc</td> <td>$codpro</td> <td>$nom</td> <td>$pre</td> <td>$quaacc_new</td> </tr>"; } // Chiusura della tabella echo "</table>"; // Chiusura del DataBase MySQL mysql_close($db); 26

27 INSERIMENTO PRODOTTI prodotti2_1.php <html> <head> <title>inserimento Prodotti</title> </head> <body> echo "<h2>inserire i dati dei prodotti e inviare il form</h2>"; echo "<form action='prodotti2_2.php' method='post'>"; echo "Codice prodotto<br> <input name='codpro' size='6' maxlength='6'><p>"; echo "Nome prodotto<br> <input name='nompro' size='20' maxlength='20'><p>"; echo "Prezzo unitario<br> <input name='preuni' size='5,2' maxlength='5,2'><p>"; echo "Quantità <br><input name='quanti' size='3' maxlength='3'><p>"; echo "<input type='submit' value='invia'>"; echo "<input type='reset' value='cancella'>"; echo "</form>";?> </body> </html> 27

28 prodotti2_2.php <html> <head> <title>inserimento Prodotti</title> </head> <body> // Inizializzazione delle variabili $codpro=$_post['codpro']; $nompro=$_post['nompro']; $preuni=$_post['preuni']; $quanti=$_post['quanti']; // Connessione al DB MYSQL $db=mysql_connect("localhost","root"); // Creazione del comando SQL per l'inserimento dei dati $sqlinter = "insert prodotti2"; $sqlinter.= "(codpro, nompro, preuni, quanti)"; $sqlinter.= " values "; $sqlinter.= "('$codpro', '$nompro', '$preuni', '$quanti')"; // Invio dei dati alla tabella mysql_db_query("my_cpala", $sqlinter); // Verifica che i dati siano stati inseriti correttamente $num=mysql_affected_rows(); // Controllo che il record sia stato inserito if ($num>0) echo "Nuovo record inserito correttamente.<p>"; else echo "ERRORE!!! Record non inserito.<p>"; // Chiusura del database mysql_close($db);?> </body> </html> CANCELLAZIONE PRODOTTI prodotti2_a1.php <html> <head> <title>cancellazione Prodotti</title> </head> <body> <h2>selezionare il record da cancellare</h2><p> <form action="prodotti2_a2.php" method="post"> // Connessione al database MySQL $db=mysql_connect("localhost","root"); // Creazione della variabile per l'interrogazione $sqlinterr ="select * from prodotti2 "; // Esecuzione dell'interrogazione $res=mysql_db_query("my_cpala",$sqlinterr); 28

29 // Numero di record estratti dall'interrogazione $num=mysql_num_rows($res); // Intestazione della tabella echo "<table border='1' align='center'> <tr> <td>selezione</td> <td>codice prodotto</td> <td>nome prodotto</td> <td>prezzo unitario</td> <td>quantità</td> </tr>"; // Visualizzazione dei record estratti for ($i=0; $i<$num; $i++) { $codpro=mysql_result($res,$i,"codpro"); $nompro=mysql_result($res,$i,"nompro"); $preuni=mysql_result($res,$i,"preuni"); $quanti=mysql_result($res,$i,"quanti"); // Visualizzazione della riga con radio echo "<tr> <td><input type='radio' name='selezi' value='$codpro'></td>"; echo " <td>$codpro</td> <td>$nompro</td> <td>$preuni</td> <td>$quanti</td> </tr>"; } // Chiusura della tabella echo "</table>"; // Chiusura del database mysql_close($db);?> <p><input type="submit" value="cancellare il record"><p> </body> </html> 29

30 prodotti2_a2.php <html> <head> <title>cancellazione Prodotti</title> </head> <body> // Inizializzazione delle variabili $selezi=$_post['selezi']; // Controllo che l'utente abbia selezionato il record da cancellare if ($selezi) { // Connessione al database MySQL $db=mysql_connect("localhost", "root"); // Creazione del comando sql di cancellazione $sqlinterr="delete from prodotti2 where"; $sqlinterr.=" codpro='$selezi'"; // Invio del comando SQL $res=mysql_db_query("my_cpala", $sqlinterr); // Risultato della cancellazione $num=mysql_affected_rows(); if ($num>0)echo "Record cancellato<p>"; else echo "Record non cancellato<p>"; // Chiusura database mysql_close($db); } 30

31 ?> </body> </html> else echo "Non è stato selezionato nessun record<p>"; MODIFICA PRODOTTI prodotti2_m1.php <html> <head> <title>modifica Prodotti</title> </head> <body> echo "<h2><center>selezionare il record da modificare</center></h2>"; echo "<form action='prodotti2_m2.php' method='post'>"; // Connessione al DB MySQL $db=mysql_connect("localhost","root"); /* Costruzione della variabile $sqlinterr per la visualizzazione dei record */ $sqlinterr = "select * from prodotti2"; // Esecuzione del comando di interrogazione $sqlinterr $res=mysql_db_query("my_cpala",$sqlinterr); $num=mysql_num_rows($res); // Inizio della tabella echo "<table border='1' align='center'>"; echo "<tr> <td>selezione</td> <td>codice prodotto</td> <td>nome prodotto</td> <td>prezzo unitario</td> <td>quantità</td> </tr>"; // Estrapolazione dei valori degli attributi for ($i=0;$i<$num;$i++) { $codpro=mysql_result($res,$i,"codpro"); $nompro=mysql_result($res,$i,"nompro"); $preuni=mysql_result($res,$i,"preuni"); $quanti=mysql_result($res,$i,"quanti"); // Visualizzazione degli attributi in tabella echo "<tr> <td><input type='radio' name='selezi' value='$codpro'></td> <td>$codpro</td> <td>$nompro</td> <td>$preuni</td> <td>$quanti</td> </tr>"; } echo "</table>"; 31

32 // Chiusura del DB MySQL mysql_close($db); // Bottone per l'invio dei dati a prodotti2_m2.php echo "<p><center><input type='submit' value='record da modificare'></center><p>"; echo "</form>";?> </body> </html> prodotti2_m2.php <html> <head> <title>modifica Prodotti</title> </head> <body> // Definizione delle variabili $selezi=$_post['selezi']; if ($selezi) { // Connessione al DB MySQL $db=mysql_connect("localhost","root"); /* Costruzione della variabile $sqlinterr per la visualizzazione dei record */ $sqlinterr = "select * from prodotti2 "; 32

33 $sqlinterr.= "where prodotti2.codpro='$selezi'"; // Esecuzione del comando select $res=mysql_db_query("my_cpala",$sqlinterr); //$num=mysql_num_rows($res); // Lettura del contenuto del record trovato $codpro_old=mysql_result($res,0,"codpro"); $nompro_old=mysql_result($res,0,"nompro"); $preuni_old=mysql_result($res,0,"preuni"); $quanti_old=mysql_result($res,0,"quanti"); // Creazione della mappa a video per la modifica echo "<h3><center>gestione prodotti: modifica</center></h3><p>"; echo "<form action='prodotti2_m3.php' method='post'>"; echo "Codice prodotto<br><input name='codpro_new' value='$codpro_old'><p>"; echo "Nome prodotto<br><input name='nompro_new' value='$nompro_old'><p>"; echo "Prezzo unitario<br><input name='preuni_new' value='$preuni_old'><p>"; echo "Quantità<br><input name='quanti_new' value='$quanti_old'><p>"; echo "<input type='hidden' name='codpro' value='$selezi'>"; echo "<input type='submit' value='modifica'> "; echo "<input type='reset' value='cancella'>"; echo "</form>"; // Chiusura del DB MySQL mysql_close($db); } else echo "ERRORE!!! Selezionare un prodotto...<p>";?> </body> </html> 33

34 prodotti2_m3.php <html> <head> <title>modifica Prodotti</title> </head> <body> // Inizializzazione delle variabili $codpro_new=$_post['codpro_new']; $nompro_new=$_post['nompro_new']; $preuni_new=$_post['preuni_new']; $quanti_new=$_post['quanti_new']; $codpro=$_post['codpro']; // Connessione al DB MySQL $db=mysql_connect("localhost","root"); /* Costruzione della variabile $sqlinterr per la modifica del record selezionato */ $sqlinterr = "update prodotti2 set "; $sqlinterr.=" codpro='$codpro_new',"; $sqlinterr.=" nompro='$nompro_new',"; $sqlinterr.=" preuni='$preuni_new',"; $sqlinterr.=" quanti='$quanti_new' "; $sqlinterr.= "where codpro='$codpro'"; // Esecuzione del comando $sqlinterr mysql_db_query("my_cpala",$sqlinterr); // N. di record soggetti alla modifica $num = mysql_affected_rows(); // Se il record è stato trovato viene modificato. if ($num>0) echo "Record modificato.<p>"; else echo "ERRORE!!! Record non modificato.<p>"; // Chiusura del DB MySQL mysql_close($db);?> </body> </html> 34

35 VISUALIZZAZIONE PRODOTTI prodotti2_q1.php <html> <head> <title>consultazione Prodotti</title> </head> <body> // Apertura del Database MySQL) $db=mysql_connect("localhost","root"); // Costruzione della variabile da eseguire in SQL $sqlinterr = "select * from prodotti2 ";?> </body> </html> //Apertura del DB sito inserito nel DataBase MySQL // $db_selected = mysql_select_db('my_cpala', $db); // Esecuzione del comando di interrogazione SQL $res=mysql_db_query("my_cpala",$sqlinterr); $res=mysql_query($sqlinterr); // N. di record estratti dal comando SQL $num=mysql_num_rows($res); // Costruzione dell'intestazione della tabella echo "<h2><center>consultazione prodotti</center></h2>"; echo "<table border='1' align='center'> <tr> <td>codice prodotto</td> <td>nome prodotto</td> <td>prezzo unitario</td> <td>quantità</td> </tr>"; // Visualizzazione del contenuto dei record trovati for ($i=0;$i<$num;$i++) { $codpro=mysql_result($res,$i,"codpro"); $nompro=mysql_result($res,$i,"nompro"); $preuni=mysql_result($res,$i,"preuni"); $quanti=mysql_result($res,$i,"quanti"); // Visualizzazione dei dati letti echo "<tr> <td>$codpro</td> <td>$nompro</td> <td>$preuni</td> <td>$quanti</td> </tr>"; } // Chiusura della tabella echo "</table>"; // Chiusura del DataBase MySQL mysql_close($db); 35

36 PROGRAMMA DI LOGIN AMMINISTRATORE loghi_1.php if(isset($_post['user'])&& isset($_post['pass'])) if($_post['user']=='admin'&& $_POST['pass']=='admin') { indexamm.html"); } amm.html?err=true");?> 36

37 PROGRAMMA DI LOGIN CLIENTE checklogin.php $host="localhost"; // Host name $username="root"; // Mysql username $password=""; // Mysql password $db_name="my_cpala"; // Database name $tbl_name="clienti"; // Table name // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); // username and password sent from form $username=$_post['username']; $password=$_post['password']; // To protect MySQL injection (more detail about MySQL injection) $username = stripslashes($username); $password = stripslashes($password); $username = mysql_real_escape_string($username); $password = mysql_real_escape_string($password); $sql="select * FROM $tbl_name WHERE username='$username' and password='$password'"; $result=mysql_query($sql); // Mysql_num_row is counting table row $count=mysql_num_rows($result); // If result matched $myusername and $mypassword, table row must be 1 row if($count==1){ // Register $myusername, $mypassword and redirect to file "login_success.php" session_register("username"); session_register("password"); header("location:paginacliente.php"); } else { echo "Wrong Username or Password"; }?>?> Successivamente nella pagina protetta andrà inserito questo script session_start(); if(!session_is_registered(username)){ header("location:paginacliente.php"); } 37

38 PROGRAMMA DI LOGOUT if(isset($_get['logout'])) { indexamm.html"); } else amm.html"); }?> Spiegazione del programma lato cliente La prima cosa che un potenziale cliente deve fare è quella di registrarsi al sito web, compilando l apposito form. Form per la registrazione al sito web. Una volta registrato, il cliente deve effettuare il login, inserendo username e password che vengono scelte dal cliente stesso durante la registrazione negli appositi campi. Form per il login del cliente. 38

39 Una volta effettuato l accesso, al cliente viene mostrata la seguente pagina. In questa pagina il cliente può acquistare i prodotti presenti nel magazzino effettuando la selezione e successivamente cliccando su Acquista. Cliccando su Acquista, viene poi mostrata questa pagina, attraverso la quale il cliente dovrà, prima di tutto verificare se è presente il prodotto in magazzino, dopodiché potrà scegliere la quantità da acquistare e cliccare su Acquista. 39

40 Nella pagina seguente verrà notificato se l acquisto è stato effettuato oppure se non è andato a buon fine. Se l acquisto è avvenuto regolarmente, il cliente dovrà quindi cliccare su clicca qui per poter inviare una mail al venditore con la conferma dell acquisto appena effettuato. In questa pagina il cliente deve indicare la propria mail, il nome e il cognome, e inserire un messaggio di conferma dell ordine. Nel messaggio il cliente non deve riscrivere il proprio nome e cognome in quanto viene riconosciuto automaticamente. Al termine, il cliente dovrà cliccare su Invia. 40

41 Spiegazione del programma lato amministratore Al responsabile del negozio (amministratore) è riservata un area privata protetta da username e password. Per accedere a quest area è necessario inserire le credenziali decise dall amministratore nell apposito form. Form per il login dell amministratore Una volta effettuato il login, all amministratore apparirà una pagina dove potrà decidere di compiere diverse azioni, tra cui l inserimento, la modifica, la visualizzazione e la cancellazione di un cliente, l inserimento, la modifica, la visualizzazione e la cancellazione di un acquisto e l inserimento, la modifica, la visualizzazione e cancellazione di un prodotto. 41

42 Per uscire da quest area è necessario che l amministratore clicchi su Logout, posto in alto a destra. Manuale tecnico ITALIANO Il database di questo programma può essere installato sia su Altervista, sia su un web server tra cui EasyPHP o Xampp. Xampp è un software che contiene il server web Apache e il database MySQL. Altervista Per installarlo su Altervista, è necessario collegarsi al sito web e registrarsi compilando gli appositi form e creare una proprio sito dove poter inserire tutti i lavori che verranno svolti. Dopodiché sarà necessario creare un database (che generalmente altervista rinomina my_inizialenomecognome) e al suo interno trasferire le tabelle relative al sito web di e-commerce. Una volta compiuta tale operazione, l utente deve posizionarsi su AlterSito e cliccare su Gestione File. Cliccare su 42

43 A questo l utente deve cliccare su Invia Files e individuare la cartella contenente i programmi del sito web (scaricata precedentemente) ed inviarla al sito di Altervista. In tutti i programmi l utente dovrà modificare il nome del database, inserendo il nome del suo database creato in precedenza. Xampp Per scaricare Xampp cliccate su questo link: successivamente scaricate e installate il software. Il software dovrà essere installato direttamente sul disco locale C. Alla fine dell installazione, cliccando due volte sull icona di Xampp, apparirà questa pagina: Da questa finestra l utente dovrà cliccare sul tasto Start del modulo Apache e sul tasto Start del modulo MySQL, in modo tale da attivarli (apparirà la scritta in verde con scritto Running ). In questo modo, riuscirete a creare il database. Per la creazione del database e delle tabelle, può essere utilizzata l interfaccia grafica di Xampp per creare il database. Come prima cosa, l utente deve aprire un browser web e inserire, nella barra dell indirizzo, il seguente link: Si aprirà questa pagina: 43

44 Da questa pagina, l utente, può creare il database e inserire tutte le tabelle del sito web di e-commerce. Una volta aver creato il database con le relative tabelle, all interno del browser web nella barra degli indirizzi, a fianco al link bisogna indicare il nome della home page del sito web (in questo caso home.html) e premere Invio. Se l utente ha eseguito tutti i passaggi i maniera corretta, potrà visualizzare la home e navigare liberamente nel sito. ENGLISH The database of this program can be installed both on Altervista, both on a web server including EasyPHP or Xampp. Xampp is a software that contains the Apache web server and MySQL database. Altervista To install it on Altervista, you must connect to the website and register by filling out the appropriate form and create a Web site where you can enter all the work that will be carried out. Then you will need to create a database (which generally Altervista rename my_inizialenomecognome) and to transfer the tables related to e-commerce web site. Once you have done this, you must go to "AlterSito" and click on "Gestione File". Click on To this the user must click on "Invia Files" and browse to the folder that contains the web site programs (downloaded previously) and send it to the site of Altervista. In all programs, the user must modify the database name, enter the name of the database that you created earlier. 44

45 Xampp To download Xampp please click on this link: then download and install the software. The software must be installed on the local disk C. At the end of the installation, double clicking the icon of Xampp, you will see this page: From this window, the user should click on the "Start" button of the Apache module and click "Start" of the MySQL module, in order to activate it (you will see in green with the word "Running"). In this way, you will be able to create the database. To create the database and tables, you can use the Xampp graphical user interface to create the database. First, you must open a web browser and enter in the address bar, the following link: You will get this page: 45

46 From this page, you can create the database and insert all tables in the e-commerce web site. Once the database has been created with its tables, inside the web browser in the address bar, next to the link to indicate the name of the web site's home page (in this case home.html) and press ENTER. If you have performed all the steps correctly, you will see the home and navigate freely on the site. Parte didattica tecnica Definizione di Database e differenze tra MyIsam e InnoDB In informatica, il termine database, indica un archivio dati, in cui le informazioni in esso contenute sono strutturate e collegate tra loro secondo un modello logico definito e in modo tale da consentire la gestione e l organizzazione efficiente dei dati stessi grazie a particolari applicazioni software dedicate (DBMS), basate su un'architettura del tipo client-server, e ai query language per l'interagire con le richieste dell'utente (query che possono essere di interrogazione, inserimento, cancellazione e modifica). Il termine database può indicare: l'archivio a livello fisico, cioè il sistema con i supporti di memorizzazione che contengono i dati stessi; l'archivio a livello logico cioè i dati strutturati e il database management system (DBMS). Nei database basati sul modello relazionale i dati vengono suddivisi per argomenti (in apposite tabelle) e poi tali argomenti vengono suddivisi per categorie (campi) con tutte le possibili operazioni. Il Database Server MySQL dispone di vari tipi di tabelle. Le più usate sono le MyISAM e le InnoDB. MyISAM Sono le tabelle classiche di MySQL. Quest ultime mancano di alcune caratteristiche molto importanti nelle basi di dati; primo fra tutte il mancato supporto alle foreign key (cioè le chiavi esterne), grazie alle quali è possibile creare relazioni tra tabelle e applicare il concetto di integrità referenziale. Mancano inoltre del supporto alle transazioni. Mancando il supporto alle transazioni e alle foreign key, le tabelle MyISAM non sono adatte per realizzare sistemi di e-commerce o altre applicazioni simili. Le tabelle di tipo MyISAM si compongono di tre file con tre diverse estensioni:.frm,.myd e.miy. che contengono rispettivamente la struttura della tabella, i dati e gli indici. Per trasferire una tabella da un computer ad un altro è sufficiente spostare questi 3 file. Il tipo di tabella MyISAM è solitamente quello predefinito nel DBMS. InnoDB Sono tabelle molto più complete rispetto alle MyISAM ma si sono più lente a causa delle funzionalità aggiuntive di cui dispongono. Tra le caratteristiche a loro vantaggio, vi sono le foreign key e la transazionalità, con le quali è possibile creare una base di dati relazionale e transazionale. 46

47 Per trasferire questo tipo di tabelle da un server ad un altro non è sufficiente spostarne i file e questo rende più complicate le procedure di backup. Questo tipo di tabelle, inoltre, non sono sempre disponibili negli hosting economici. Definizione di server web Un web server è un programma che, utilizzando il modello client/server e il protocollo HTTP, fornisce i file che costituiscono una pagina web agli utenti che ne fanno richiesta utilizzando un programma client: il browser. Ogni computer che contiene un sito web deve avere un programma web server. Uno dei programmi web server più utilizzati è Apache. Differenza tra pagine statiche e dimaniche Le pagine statiche (quelle che hanno estensione.html o.htm), sono dei file in codice HTML che descrivono minuziosamente testi da impaginare, grafica e immagini. Quando l utente di un sito visita una pagina, ciò che avviene è che il server su cui risiede il sito invia al browser il file HTML; il browser sa decodificare il file, e quindi mostra i contenuti della pagina sullo schermo dell utente. Le pagine dinamiche, invece di contenere il codice HTML (o meglio, invece di contenere solo quello) contengono programmi per il server; questo li esegue e quindi scrive il codice HTML da inviare al browser. In altre parole, il contenuto della pagina non è deciso a priori ma può variare in base a condizioni di vario genere. Un esempio: quando su un motore di ricerca viene effettuata un interrogazione, la pagina dei risultati che viene presentata non è già esistente prima della vostra richiesta. Solo dopo che il server ha eseguito la sua ricerca sulla parola chiave da voi indicata viene creato il codice per presentarvi i risultati. I linguaggi utilizzati per scrivere queste pagine sono ASP, PHP o CFM e tanti altri. Definizione di MySQL MySQL è il software per database relazionali prodotto dall'omonima società Svedese (MySQL AB). Il codice è gratuito, open source e di proprietà esclusiva della MySQL AB, i quali profitti derivano da servizi e strumenti messi a disposizione degli utenti del loro software - strumenti e servizi non prerogativa per l'utilizzo del software stesso. Definizione di PHP Il termine PHP è l acronimo di Personal Home Page tools. Questo è un linguaggio di programmazione per la realizzazione di pagine Internet dinamiche, modulo del web server Apache. Un altro linguaggio utilizzato è ASP. L unica differenza tra questi due linguaggi risiede nella piattaforma: ASP è supportato solo da Server NT, mentre PHP viene utilizzato principalmente da Server Linux/Unix, ma anche da NT. ASP è acronimo di Active Server Page. La potenza di questi linguaggi sta nel fatto di poter generare, nella stessa pagina, diversi layout in base al risultato di alcune funzioni scritte da chi l'ha programmata; per questo motivo vengono utilizzate solitamente per l'interfacciamento delle pagine web con uno o più DataBase. 47

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA GESTIONE MEDIAWORLD

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA GESTIONE MEDIAWORLD Baroni Nicoletta, Carini Giulia, Valentina Porchera, Christian Pala 4C Mercurio RELAZIONE SCRITTA RELATIVA AL PROGRAMMA GESTIONE MEDIAWORLD Traccia del problema: Realizzare la procedura in php con Mysql

Dettagli

RELAZIONE E-COMMERCE

RELAZIONE E-COMMERCE RELAZIONE E-COMMERCE di Jessica Gregoire Istituto Tecnico Economico Agostino Bassi Anno scolastico 2012/2013 1 INDICE Traccia del problema : pagina 2 Analisi di massima: pagina 2 Analisi al dettaglio:

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

Baroni Nicoletta RELAZIONE SCRITTA. Carini Giulia RELATIVA AL PROGRAMMA GESTIONE MEDIAWORLD

Baroni Nicoletta RELAZIONE SCRITTA. Carini Giulia RELATIVA AL PROGRAMMA GESTIONE MEDIAWORLD Gruppo Mediaworld Baroni Nicoletta RELAZIONE SCRITTA Carini Giulia RELATIVA AL PROGRAMMA GESTIONE MEDIAWORLD Valentina Porchera Christian Pala Traccia del problema Realizzare un sito web tipo e-commerce

Dettagli

Relazione e-commerce

Relazione e-commerce Relazione e-commerce Barbarossa Salvatore Marco Classe 5^D Mercurio I.T.E. A. Bassi A.S. 2012 / 2013 1 Indice Traccia del problema.. 3 Analisi al dettaglio, entità, modello E/R, associazioni, modello relazionale

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

RELAZIONE E-COMMERCE http://dfranceschetti.altervista.org/esercizi_informatica/ec ommerce/index.html

RELAZIONE E-COMMERCE http://dfranceschetti.altervista.org/esercizi_informatica/ec ommerce/index.html RELAZIONE E-COMMERCE http://dfranceschetti.altervista.org/esercizi_informatica/ec ommerce/index.html 1 RELAZIONE RELATIVA ALLA GESTIONE DEL SITO DI E-COMMERCE Indice: 1) TRACCIA DEL PROBLEMA. pag. 3 2)

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

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE CISALFA

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE CISALFA Bianca Pasetti TRACCIA DEL PROBLEMA: RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE CISALFA Il negozio Cisalfa vuole tener traccia dei prodotti acquistati dai clienti. Di ogni cliente si vuole conoscere

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

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

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

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Costruzione di Sit Web con PHP e MySQL Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Esercitazione In questa lezione si farà insieme una seconda esercitazione che

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

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

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

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

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

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

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

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

Anno 2013 Informatica ABACUS

Anno 2013 Informatica ABACUS Anno 2013 Informatica ABACUS Testo Una Società Aeroportuale commissiona lo sviluppo di un software per la gestione dei controlli passeggeri e merci nei vari punti di dogana presenti in un Aeroporto Internazionale.

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

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

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

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

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

Data Base in Internet

Data Base in Internet Data Base in Internet Esempio di applicazione ASP Prof. Claudio Maccherani Un applicazione che interroghi un database remoto in un server Web è scritta in ASP (Active Server Page) se piattaforma NT / IIS

Dettagli

RELAZIONE TECNICA GESTIONE CARTE DI CREDITO. a cura di EMANUELE CESARI

RELAZIONE TECNICA GESTIONE CARTE DI CREDITO. a cura di EMANUELE CESARI RELAZIONE TECNICA GESTIONE CARTE DI CREDITO a cura di EMANUELE CESARI 1 INDICE ARGOMENTO: PAGINA 1. Traccia del problema 3 2. Analisi di massima e spiegazione 4-11 3. Modello Er 12 4. Scema Relazionale

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

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

www.spaghettibrain.com Manuale di Installazione PHPNuke in Italiano Edizione Visuale By CLA (webmaster@spaghettibrain.com)

www.spaghettibrain.com Manuale di Installazione PHPNuke in Italiano Edizione Visuale By CLA (webmaster@spaghettibrain.com) www.spaghettibrain.com Manuale di Installazione PHPNuke in Italiano Edizione Visuale By CLA (webmaster@spaghettibrain.com) Cosa è PHPNuke Perché Spaghettibrain Cosa Serve per installarlo Installazione

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

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

Strumenti Software per Esercitazioni (ambiente Windows) Basi di Dati L LS Ing. Gestionale

Strumenti Software per Esercitazioni (ambiente Windows) Basi di Dati L LS Ing. Gestionale Strumenti Software per Esercitazioni (ambiente Windows) Basi di Dati L LS Ing. Gestionale Installazione EasyPHP Scaricare e lanciare easyphp1-8_setup.exe (es. dalla pagina della didattica su http://www-db.deis.unibo.it/~fgrandi)

Dettagli

Bozza Guida ufficiale vs 1.0

Bozza Guida ufficiale vs 1.0 Bozza Guida ufficiale vs 1.0 Caratteristiche del software Videocopen è un software open source di videoconferenza. Sviluppato in php per la parte web e macromedia flash per la videoconferenza, sfrutta

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

Installazione interfaccia e software di controllo mediante PC Installing the PC communication interface and control software

Installazione interfaccia e software di controllo mediante PC Installing the PC communication interface and control software Windows 7 Installazione interfaccia e software di controllo mediante PC Installing the PC communication interface and control software Contenuto del kit cod. 20046946: - Interfaccia PC-scheda (comprensiva

Dettagli

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

Aggiornamento dispositivo di firma digitale

Aggiornamento dispositivo di firma digitale Aggiornamento dispositivo di firma digitale Updating digital signature device Questo documento ha il compito di descrivere, passo per passo, il processo di aggiornamento manuale del dispositivo di firma

Dettagli

Portale Materiali Grafiche Tamburini. Grafiche Tamburini Materials Portal

Portale Materiali Grafiche Tamburini. Grafiche Tamburini Materials Portal Portale Materiali Grafiche Tamburini Documentazione utente italiano pag. 2 Grafiche Tamburini Materials Portal English user guide page 6 pag. 1 Introduzione Il Portale Materiali è il Sistema Web di Grafiche

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

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

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

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

Corso di Informatica

Corso di Informatica Corso di Informatica CL3 - Biotecnologie Orientarsi nel Web Prof. Mauro Giacomini Dott. Josiane Tcheuko Informatica - 2006-2007 1 Obiettivi Internet e WWW Usare ed impostare il browser Navigare in internet

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

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

Corso di Informatica Modulo T3 B1 Programmazione web

Corso di Informatica Modulo T3 B1 Programmazione web Corso di Informatica Modulo T3 B1 Programmazione web 1 Prerequisiti Architettura client/server Elementi del linguaggio HTML web server SQL server Concetti generali sulle basi di dati 2 1 Introduzione Lo

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

Wordpress. Acquistare un sito web. Colleghiamoci con il sito www.aruba.it

Wordpress. Acquistare un sito web. Colleghiamoci con il sito www.aruba.it www.creativecommons.org/ Wordpress Wordpress è una piattaforma gratuita per creare siti web. In particolare è un software installato su un server web per gestire facilmente contenuti su un sito senza particolari

Dettagli

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Sistema inoltro telematico domande di nulla osta, ricongiungimento e conversioni Manuale utente Versione 2 Data creazione 02/11/2007 12.14.00

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

VntRAS Communication Suite

VntRAS Communication Suite VntRAS Communication Suite Manuale di Riferimento 1 Indice pag. 1. Introduzione 3 2. Interfaccia web di amministrazione 4 3. Programmazione 5 4. Programmazione pagine HTML pubbliche 8 2 Introduzione Il

Dettagli

GUIDA AL PRIMO AVVIO E MANUALE D USO

GUIDA AL PRIMO AVVIO E MANUALE D USO GUIDA AL PRIMO AVVIO E MANUALE D USO Informazioni preliminari Il primo avvio deve essere fatto sul Server (il pc sul quale dovrà risiedere il database). Verificare di aver installato MSDE sul Server prima

Dettagli

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Basi di dati: Microsoft Access INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Database e DBMS Il termine database (banca dati, base di dati) indica un archivio, strutturato in modo tale

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

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

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

SOLUZIONE SECONDA PROVA INFORMATICA ITC ESAME DI STATO 2002/2003 TRAMONTANA

SOLUZIONE SECONDA PROVA INFORMATICA ITC ESAME DI STATO 2002/2003 TRAMONTANA Esame di Stato Istituto Tecnico Commerciale CORSO SPERIMENTALE Progetto "MERCURIO" Indirizzo: PROGRAMMATORI Soluzione della Seconda Prova - Tema di: INFORMATICA Anno Scolastico: 2002-2003 Riflessioni e

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

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

Cultura Tecnologica di Progetto

Cultura Tecnologica di Progetto Cultura Tecnologica di Progetto Politecnico di Milano Facoltà di Disegno Industriale - DATABASE - A.A. 2003-2004 2004 DataBase DB e DataBase Management System DBMS - I database sono archivi che costituiscono

Dettagli

MySQL Server e Netbeans

MySQL Server e Netbeans Progettazione Applicazioni Web 09 MySQL Server e Netbeans Sommario INSTALLAZIONE DI MYSQL INSTALLAZIONE SU UN PC DI CUI SI HANNO I DIRITTI DI AMMINISTRATORE. INSTALLAZIONE SUI COMPUTER DALL AULA 5T. AVVIO

Dettagli

COSTRUZIONE SITO WEB da AlterVista (www.altervista.org)

COSTRUZIONE SITO WEB da AlterVista (www.altervista.org) COSTRUZIONE SITO WEB da AlterVista (www.altervista.org) Registrazione del proprio sito: occorre individuare un nome da dare al Sito e successivamenete (se il nome non è già stato usato), premere il bottone

Dettagli

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende. Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per

Dettagli

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB MODULO 5 DATA BASE MODULO 5 - DATA BASE 1 PROGRAMMA Introduzione: concetti generali di teoria Progettazione rapida introduzione alla progettazione di DB Utilizzo di Access pratica sulla creazione e l utilizzo

Dettagli

Istituto Tecnico Industriale Statale Dionigi Scano Cagliari. Candidato: Medda Daniele Classe 5ª C Informatica Anno scolastico 2013/2014.

Istituto Tecnico Industriale Statale Dionigi Scano Cagliari. Candidato: Medda Daniele Classe 5ª C Informatica Anno scolastico 2013/2014. Istituto Tecnico Industriale Statale Dionigi Scano Cagliari Candidato: Medda Daniele Classe 5ª C Informatica Anno scolastico 2013/2014 relate Un esperimento di social networking open source 1 Introduzione

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

COSA FARE APPENA ACQUISTATA UNA SMARTBOARD TM

COSA FARE APPENA ACQUISTATA UNA SMARTBOARD TM COSA FARE APPENA ACQUISTATA UNA SMARTBOARD TM Una volta acquistata una Lavagna Interattiva Multimediale SMARTBoard TM, è necessario effettuare una procedura di registrazione al fine di:. Estendere la garanzia

Dettagli

A. Lorenzi Pagine ASP

A. Lorenzi Pagine ASP Pagine ASP Web server software per la gestione di un computer host Internet oppure di un server di rete, che mette a disposizione dati o applicativi per gli utenti della rete Web server IIS (Internet Information

Dettagli

Gestione di un Forum

Gestione di un Forum Indice generale Gestione di un Forum Analisi... 1 Schema ER... 2 Dizionario dei dati... 3 Schema logico... 3 Scelte implementative... 4 DataBase utilizzato... 8 SQL... 11 Manuale d'uso... 12 Analisi Problema

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

ISTRUZIONI PASSO PASSO PER CREARE UN SITO CON JOOMLA SU ALTERVISTA

ISTRUZIONI PASSO PASSO PER CREARE UN SITO CON JOOMLA SU ALTERVISTA ISTRUZIONI PASSO PASSO PER CREARE UN SITO CON JOOMLA SU ALTERVISTA REGISTRARSI AL SITO ALTERVISTA, PER OTTENERE SPAZIO WEB GRATUITO o Andare sul sito it.altervista.org o Nel riquadro al centro, scrivere

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Posta elettronica per gli studenti Email for the students

Posta elettronica per gli studenti Email for the students http://www.uninettunouniverstiy.net Posta elettronica per gli studenti Email for the students Ver. 1.0 Ultimo aggiornamento (last update): 10/09/2008 13.47 Informazioni sul Documento / Information on the

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

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

Preparazione. Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi. Accesso all area condivisa. Avvio Server MySQL

Preparazione. Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi. Accesso all area condivisa. Avvio Server MySQL Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi Stefania Marrara Elisa Quintarelli Lezione 1 2 ore a.a 2004/05 Preparazione Accesso all area condivisa Start -> Programs ->MySQL

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

Base Dati Introduzione

Base Dati Introduzione Università di Cassino Facoltà di Ingegneria Modulo di Alfabetizzazione Informatica Base Dati Introduzione Si ringrazia l ing. Francesco Colace dell Università di Salerno Gli archivi costituiscono una memoria

Dettagli

Lezione 8. Metadati, Viste e Trigger

Lezione 8. Metadati, Viste e Trigger Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli

Dettagli

Sito web parrocchiale: STRUMENTI E PROGRAMMI

Sito web parrocchiale: STRUMENTI E PROGRAMMI Sito web parrocchiale: STRUMENTI E PROGRAMMI tratteremo di... DIOCESI DI BRESCIA Linguaggi HTML,CSS Siti STATICI Siti DINAMICI e codice PHP CMS JOOMLA! Linguaggio HTML HTML: è il linguaggio con cui potete

Dettagli

Esiste la versione per Linux di GeCo? Allo stato attuale non è prevista la distribuzione di una versione di GeCo per Linux.

Esiste la versione per Linux di GeCo? Allo stato attuale non è prevista la distribuzione di una versione di GeCo per Linux. FAQ su GeCo Qual è la differenza tra la versione di GeCo con installer e quella portabile?... 2 Esiste la versione per Linux di GeCo?... 2 Quali sono le credenziali di accesso a GeCo?... 2 Ho smarrito

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

Guida all Utilizzo del Posto Operatore su PC

Guida all Utilizzo del Posto Operatore su PC Guida all Utilizzo del Posto Operatore su PC 1 Introduzione Indice Accesso all applicazione 3 Installazione di Vodafone Applicazione Centralino 3 Utilizzo dell Applicazione Centralino con accessi ad internet

Dettagli

GESTIONE DI MDB in WEB

GESTIONE DI MDB in WEB GESTIONE DI MDB in WEB Il presente documento riporta un esempio generico di gestione di un database di Access. Il lettore può personalizzare in base alle proprie esigenze sia il contenuto del database,

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

La tecnologia ASP.NET e i database

La tecnologia ASP.NET e i database Introduzione alle pagine dinamiche Con il linguaggio HTML si possono creare delle pagine Web statiche. Se invece volessimo creare delle pagine Web dinamiche, pagine il cui codice html viene generato al

Dettagli

IL DAT A B A S E DI ALGE B R A N D O

IL DAT A B A S E DI ALGE B R A N D O IL DAT A B A S E DI ALGE B R A N D O Un progetto di: Davide Valeriani Matricola 190883 davide.valeriani@studenti.unipr.it Corso di laurea in Ingegneria Informatica Esame di Basi di Dati A Prof. Stefano

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

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Direzione Centrale per le Politiche dell Immigrazione e dell Asilo SUI Sportello Unico Immigrazione Sistema inoltro telematico domande di nulla osta al lavoro, al ricongiungimento familiare e conversioni

Dettagli

Mon Ami 3000 MACommerce La soluzione per il commercio elettronico totalmente integrata con Mon Ami 3000

Mon Ami 3000 MACommerce La soluzione per il commercio elettronico totalmente integrata con Mon Ami 3000 Mon Ami 000 MACommerce La soluzione per il commercio elettronico totalmente integrata con Mon Ami 000 Prerequisiti La soluzione MACommerce si integra totalmente con le versioni Azienda Light e Azienda

Dettagli

INDICE. DATEX il manuale edizione aprile 2011

INDICE. DATEX il manuale edizione aprile 2011 DATEX MANUALE INDICE INDICE... 1 INTRODUZIONE... 2 PRINCIPALI CARATTERISTICHE... 3 IL PRIMO COLLEGAMENTO... 4 INTERFACCIA... 5 DEFINIZIONE DELLE OPERAZIONI E DEI PROFILI... 6 INGRESSO CON PASSWORD NEL

Dettagli

GNred Ver1.5 Manuale utenti

GNred Ver1.5 Manuale utenti GNred Ver1.5 Manuale utenti [ultima modifica 09.06.06] 1 Introduzione... 2 1.1 Cos è un CMS?... 2 1.2 Il CMS GNred... 2 1.2.1 Concetti di base del CMS GNred... 3 1.2.2 Workflow... 3 1.2.3 Moduli di base...

Dettagli

Manuale di utilizzo del servizio in cloud

Manuale di utilizzo del servizio in cloud Manuale di utilizzo del servizio in cloud 1 Sommario Manuale utente... 3 Link... 3 Login... 3 Come inserire una fornitura... 4 Firma massiva delle fatture... 6 Compilazione manuale della fattura ed esportazione

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

Oltre al database dobbiamo provvedere al backup dei file presenti sul server. Per fare questo abbiamo bisogno di un client FTP (ad es. FileZilla).

Oltre al database dobbiamo provvedere al backup dei file presenti sul server. Per fare questo abbiamo bisogno di un client FTP (ad es. FileZilla). WORDPRESS Backup completo Premessa La procedura per eseguire correttamente il backup si divide in due fasi: backup dei file del sito backup del database SQL. Software e plugin necessari WordPress, purtroppo,

Dettagli

MANUALE PER CONSULTARE LA RASSEGNA STAMPA VIA WEB ( ULTIMO AGGIORNAMENTO 26MARZO 2009)

MANUALE PER CONSULTARE LA RASSEGNA STAMPA VIA WEB ( ULTIMO AGGIORNAMENTO 26MARZO 2009) MANUALE PER CONSULTARE LA RASSEGNA STAMPA VIA WEB ( ULTIMO AGGIORNAMENTO 26MARZO 2009) I N D I C E VISUALIZZAZIONE PDF COLORE E RIDUZIONE.4 INVIO MAIL MULTIPLA IN PDF O SOMMARIO.5 GESTIONE 9 GESTIONE TESTATE..9

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