CARINI GIULIA – 4^C Mercurio RELAZIONE SCRITTA RELATIVA AL PROGRAMMA “GESTIONE DELLE PROIEZIONI” (PHP e SQL) Traccia del programma: Un'azienda che distribuisce film in formato DVD chiede ad una software house (4C Mercurio) di realizzare un applicativo che consenta di gestire tabelle attori che recitano nei film, i quali vengano proiettati in tutte le sale cinematografiche d'Italia. Questo applicativo deve permettere di (inserendo le queries) rispondere alle interrogazioni. Il software deve essere realizzato per ambienti Windows, Linux e Apple. Deve essere utilizzato come Server Web Apache e linguaggio di programmazione PHP. Il database utilizzato deve essere MySql. Nella documentazione da presentare al cliente va inserito il manuale d'uso in italiano e in inglese e la spiegazione dettagliata di tutta l'analisi e la procedura informatica. Schema ER: at_codatt at_cognom fi_annpro ATTORI at_annnas fi_codfil re_codfil at_nazion pr_codfil re_codatt fi_regist sa_codsal PROIEZIONI fi_genere fi_nazion sa_nomsal pr_codsal fi_titolo FILM RECITA sa_numpos pr_codpro SALE pr_datpro sa_locali pr_incass sa_email sa_numtel Schema logico del programma: ATTORI RECITA at_codatt (1) at_cognom at_annnas at_nazion re_codatt (N) re_codfil (N) PROIEZIONI FILM fi_codfil (1) fi_titolo fi_annpro fi_nazion fi_regist fi_genere pr_codpro pr_codfil (N) pr_codsal (N) pr_incass pr_datpro SALE sa_codsal (1) sa_numpos sa_nomsal sa_locali sa_numtel sa_email Analisi di massima: Viene creato un database con all’interno delle tabelle dove, attraverso dei programmi in php, verranno inseriti i dati. Questi programmi vengono sviluppati in formato php. L’insieme di tutti i programmi specifici formano il programma completo attraverso dei link che li uniscono, formando un archivio che contiene le informazioni relative agli attori, alle recite, ai film, alle proiezioni e alle sale e che può essere consultato facilmente. Questi programmi permettono l’inserimento, la modifica, la cancellazione e la consultazione dei dati. Analisi di dettaglio (Modalità di realizzazione): Sono state create 2 pagine e una tabella all’interno del database: -2 pagine php (attori_1.php; attori_2.php), -la tabella “attori” nel database “proiezioni05”. Per prima cosa, all’interno dell’applicativo Mysql, è stato creato un database chiamato “proiezioni05” al cui interno sono state create le tabelle dove verranno inseriti i dati relativi agli attori, alle recite, ai film, alle proiezioni e alle sale; in particolare prendiamo in considerazione la tabella “attori”. I dati, che verranno poi inseriti in questa tabella, vengono acquisiti attraverso dei form che sono contenuti in un programma in formato php, chiamato “attori_1.php”, che viene visualizzato in un browser; questo programma spedirà le variabili ad un altro programma in php chiamato “attori_2.php”, che attraverso un collegamento al database ottenuto con la variabile $db e attraverso ad un'altra variabile chiamata $sqlinterr le inserirà direttamente nella tabella “attori” del database “proiezioni05”. Tracciati record della tabella attori: NOME CAMPO at_codatt TIPO LUNGH. DECIMALE DESCRIZIONE FORM. char 6 0 Codice attori 9(6) at_cognom varchar 50 0 x(50) at_annnas year 4 0 at_nazion varchar 30 0 Nome e cognome Anno di nascita Nazione CONTROLLO NOTE 9(6) x(30) Variabili utilizzate: Tutte le variabili utilizzate in questi programmi saranno elencate nella seguente tabella. NOME $codatt $cognom $annnas $nazion $db $sqlinterr $num PAGINA attori_2.php attori_2.php attori_2.php attori_2.php attori_2.php attori_2.php attori_2.php FUNZIONE Codice attore Nome e cognome attore Anno di nascita attore Nazionalità attore Connessione al database Comando inserimento dati Verifica correttezza inserimento Creazione del database e della tabella “attori”: CREATE DATABASE proiezioni05; USE proiezioni05; CREATE TABLE attori ( at_codatt char(6), at_cognom varchar(50), at_annnas year(4), at_nazion varchar(30) ); Programma: [attori_1.php] <HTML> <HEAD> <TITLE>Inserimento attori</TITLE> </HEAD> <BODY> <?php echo "<h2><center>Inserire i dati e inviare al form</center></h2>"; echo " <form action='attori_2.php' method='POST'>"; echo " Codice attore <input name='codatt' size='6' maxlength='6'><br>"; echo " Nome e Cognome <input name='cognom' size='50' maxlength='50'><br>"; echo " Anno di nascita <input name='annnas' size='4' maxlength='4'><br>"; echo " Nazione <input name='nazion' size='30' maxlength='30'><p>"; echo " <input type='submit' value='Invia'>"; echo " <input type='reset' value='Cancella'>"; echo " </form>"; ?> </BODY> </HTML> [attori_2.php] <HTML> <HEAD> <TITLE>Inserimento attori</TITLE> </HEAD> <BODY> <?php //Inizializzazione delle variabili $codatt=$_POST['codatt']; $cognom=$_POST['cognom']; $annnas=$_POST['annnas']; $nazion=$_POST['nazion']; //Connessione al db mysql $db=mysql_connect("localhost","root"); //Creazione del comando sql per l'inserimento dei dati $sqlinterr="insert attori "; $sqlinterr .="(at_codatt,at_cognom,at_annnas,at_nazion)"; $sqlinterr .=" values "; $sqlinterr .="('$codatt','$cognom','$annnas','$nazion')"; //Invio dei dati alla tabella attori del db proiezioni05; mysql_db_query("proiezioni05",$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); //Ritorno alla pagina di immissione dati echo"Ritorno alla pagina <a href='attori_1.php'>attori</a>"; ?> </BODY> </HTML> Linguaggio di programmazione utilizzato: Il linguaggio di programmazione utilizzato è SQL e PHP. SQL (Structured Query Language) è un linguaggio utilizzato per interrogare diversi tipi di database. Tra un db ed un altro, la sintassi subisce poche variazioni ed è quindi semplice accedere a diverse raccolte di dati. PHP (acronimo ricorsivo di "PHP: Hypertext Preprocessor", preprocessore di ipertesti; originariamente acronimo di "Personal Home Page") è un linguaggio di scripting interpretato, con licenza open source e libera (ma incompatibile con la GPL), originariamente concepito per la programmazione Web ovvero la realizzazione di pagine web dinamiche. Server web utilizzato: Viene utilizzato come server web Apache che è compreso nell’applicativo XAMPP o EasyPHP. Se si utilizza XAMPP, i programmi di inserimento dati (attori_1.php e attori_2.php), devono essere inseriti in una cartella creata nella directory htdocs; se invece si utilizza EasyPHP, la directory in cui inserire i programmi si chiamerà www. Per scaricare Xampp ciccare su questo link: http://www.apachefriends.org/it/xampp.html Per scaricare EasyPHP ciccare su questo link: http://www.easyphp.org/download.php Scaricate il software Xampp e installatelo, salvandolo sul disco locale C, mentre nella cartella Programmi nel disco locale C se si tratta di EasyPHP. Alla fine dell’installazione di Xampp apparirà una finestra di questo tipo: Manuale d’uso: ITALIANO Dopo avere creato i programmi è necessario visualizzare “attori_1.php” in un browser (esempio= http://127.0.0.1/php/attori_1.php) attraverso l’indirizzo IP del server (http://127.0.0.1/). Viene visualizzata una pagina contenente dei form in cui vanno inseriti i dati relativi all’attore desiderato. 1. 2. 3. 4. Codice attori = inserire il codice dell’attore desiderato Nome e cognome =inserire l’attore desiderato Anno di nascita = inserire data di nascita dell’attore Nazione = inserire la nazione dell’attore desiderato Dopo aver inserito i dati, cliccare sul tasto INVIA. Le informazioni saranno automaticamente registrate nella tabella attori all’interno del database, dove potranno essere facilmente consultate. A questo punto appare una finestra del browser contenente l’indicazione della buona riuscita o della mancata registrazione e un link che permette di ritornare alla pagina precedente. INGLESE After having created the programs it is necessary to visualize "attori_1.php" in a browser (esempio= http://127.0.0.1/php/attori_1.php) through the address IP of the server (http://127.0.0.1/). A containing page of the forms is visualized in which the data must be inserted related to the desired actor. 1. Code actors = to insert the code of the desired actor 2. Name and last name = to insert the desired actor 3. Year of birth = to insert date of birth of the actor 4. Nation = to insert the nation of the desired actor After having inserted the data, click on the key Sends. Information will automatically be recorded in the chart actors inside the database, where they can easily be consulted. To this point a window of the containing browser the indication of the good result or the missed recording and a link that it allows to return to the preceding page appears.