1 LA RANA SPLash: the return presentato da: BFC SOLUTIONS composto da: Buonocore Remo Falco Onofrio Chiappetti Ciro
2 Sommario 1.Titolo 2.Sommario 3.Homepage 4.About us 5.Contatti 6.Login pagina clienti 7.Homepage clienti 8.Ordina 9.Chat 10.Gioca - istruzioni 11.Loading - gioco 12.Save your score 13.Login alla cucina 14.Visualizzazione ordini cucina 15.Login amministrazione 16.Pagina amministrazione 17.Pagina amministrazione nel dettaglio Pagina amministrazione nel dettaglio Sviluppi futuri 20.Codice HTML 21.Codice HTML 22.Codice HTML 23.Codice PHP - login al sito clienti 24.Codice PHP - login al sito clienti 25.Codice PHP - login, logout e area protetta 26.Codice PHP - Ordinazioni 27.Codice PHP - Ordinazioni 28.Codice PHP - Ordinazioni 29.Codice JAVASCRIPT - gioco 30.Codice JAVASCRIPT - gioco 31.Codice JAVASCRIPT - gioco 32.Codice PHP - Ordinazioni
3 Homepage - Guestbook Questa rappresenta l'homepage del sito: LA RANA SPLASH. Come potete vedere in figura, abbiamo implementato il guestbook, che permette al cliente di inserire un commentosull'esperie nza avuta.
4 About us Questa rappresenta la pagina di About us, dove si possono notare le informazioni in merito ai creatori del sito
5 Contatti Questa pagina rappresenta la pagina dei contatti, che permette, a chiunque fosse interessato, di mettersi in contatto con gli sviluppatori.
6 Login alla pagina clienti Questa pagina rappresenta il login alla pagina clienti, ossia di coloro che all'entrata ricevono le credenziali di accesso per ordinare, giocare e chattare.
7 Homepage - Clienti Questa pagina rappresenta l'Homepage che i clienti visualizzeranno appena effettuato il login. In basso a destra si può notare il tasto di LOGOUT per uscire.
8 Ordina Questa, rappresenta la pagina per ORDINARE quello che si preferisce mandando la richiesta direttamente in cucina, senza l'ausilio di nessun cameriere.
9 Chat Queste rappresentano rispettivamente, le pagine per il login alla chat e la chat stessa. C'è una text-area che ci permette di inviare un messaggio, un'altra area per inserire le emoticon e, infine, un tasto invia e un tasto logout per tornare indietro.
10 Gioca - Istruzioni Questa, rappresenta la pagina per entrare nel gioco e riporta le istruzioni che ne spiegano il funzionamento.
11 Loading - Gioco Queste rappresentano rispettivamente, le pagine del Loading al gioco e del gioco stesso. Come si può notare, ci sono i tasti del gioco e il tasto indietro per tornare alla pagina dei clienti.
12 Save your score Allo scadere del tempo, si apre un POPUP che permette di inserire il nickname e salvare il punteggio. Automaticamente nel POPUP stesso, ci sarà un redirect alla classifica ordinata per punteggio.
13 Login alla Cucina Login riservato al personale addetto in cucina.
14 Visualizzazione Ordini in Cucina Effettuato il login, si accederà alla pagina di visualizzazione degli ordini, che illustra: le portate richieste, il numero del tavolo e il prezzo.
15 Login Amministrazione Login al sito amministrazione, che viene visualizzato dal personale addetto alla reception, all'entrata del Ristorante.
16 Pagina Amministrazione Questa, rappresenta la pagina per il personale addetto alla reception che segna i tavoli occupati, gli account utilizzati e riesce a vedere le ordinazioni di ogni singolo tavolo
17
18 Pagina Amministrazione in dettaglio Come possiamo notare nella pagina precedente, si può selezionare ogni tavolo, vedere cosa hanno ordinato, vedere il conto totale e cancellare le ordinazioni effettuate, una volta liberato il tavolo.
19 Sviluppi Futuri In futuro svilupperemo un sito mobile dedicato agli smartphone e ai tablet. Purtroppo non siamo riusciti a crearlo per mancanza di tempo. Attualmente il sito Desktop sugli smartphone e tablet funziona in ogni suo particolare, l'unico difetto lo vedete nella figura affianco.
20 Codice HTML, JAVASCRIPT e PHP HTML <!-- --> HOME-La Rana Splash
21 Homepage About Us Contatti Login GUESTBOOK
22 LASCIA QUI IL TUO COMMENTO © 2013 BFC Solutions. Tutti i diritti riservati. Esame di Tecnologie Web.
23 Login sito clienti <?php //apro la sessione e verifico se il login è già stato effettuato session_start(); if(isset($_SESSION['loggedin'])){ header('location: clienti.php'); } //controlliamo se i dati sono stati inseriti if(!isset($_POST['username']) OR $_POST['username']=="" OR !isset($_POST['password']) OR $_POST['password']==""){ die("Non hai inserito i dati. Torna indietro "); } else { //puliamo i dati $username = trim(filter_var($_POST['username'], FILTER_SANITIZE_STRING)); $password = trim(filter_var($_POST['password'], FILTER_SANITIZE_STRING)); //generiamo l'hash //$hash = hash("sha256",$username.$password);
24 //includiamo la connessione, connettiamoci al database ed eseguiamo la query include "config.php"; connetti_database(); $result = mysql_query("SELECT * FROM connessione WHERE username = '$username' AND password = '$password'/*'$hash'*/"); //se la query ha restituito 0 righe, non esiste nessun user con username e password inseriti if(mysql_num_rows($result)==0) die("Username e/o password errati"); else{ $_SESSION['loggedin']=1; $user = mysql_fetch_array($result); $_SESSION['username']=$user; echo "Benvenuto ".$user['username']; header("location: clienti.php"); } ?>
25 Login/Logout area protetta -Login Area Protetta <?php session_start(); if (!isset($_SESSION['loggedin'])) { header("Location: login1.php"); } ?> -Logout <?php session_start(); $_SESSION['loggedin']=0; session_destroy(); header("location: login1.php"); ?>
26 Ordinazioni f (!isset($_POST['submit'])) { // if page is not submitted to itself echo the form } else { mysql_connect("localhost", "ms_ ", "23478") or die("Could not connect: ". mysql_error()); mysql_select_db("ms4_ "); $tav=$_POST['tav']; $lasagne=$_POST['lasagne']; $gnocchi=$_POST['gnocchi']; $carbonara=$_POST['carbonara']; $risopatateprovola=$_POST['risopatateprovola']; $frittura=$_POST['frittura']; $bruschette=$_POST['bruschette']; $mozzpromel=$_POST['mozzpromel']; $polpo=$_POST['polpo']; $bistecca=$_POST['bistecca']; $salsiccefriarielli=$_POST['salsiccefriarielli']; $cotolettapatatine=$_POST['cotolettapatatine']; $filettosalmone=$_POST['filettosalmone']; $macedonia=$_POST['macedonia']; $coppafragolepanna=$_POST['coppafragolepanna']; $tiramisu=$_POST['tiramisu']; $crostatanutella=$_POST['crostatanutella']; $fanta=$_POST['fanta']; $cocacola=$_POST['cocacola']; $vinorosso=$_POST['vinorosso']; $acqua=$_POST['acqua']; $prezzo1="5.00 EUR"; $prezzo2="4.00 EUR"; $prezzo3="6.00 EUR"; $prezzo4="3.50 EUR"; $prezzo5="3.00 EUR"; $prezzo6="4.00 EUR"; $prezzo7="5.00 EUR"; $prezzo8="5.00 EUR"; $prezzo9="8.00 EUR"; $prezzo10="7.00 EUR"; $prezzo11="6.00 EUR"; $prezzo12="9.00 EUR"; $prezzo13="4.00 EUR"; $prezzo14="3.00 EUR"; $prezzo15="4.00 EUR"; $prezzo16="3.00 EUR"; $prezzo17="2.00 EUR"; $prezzo18="2.00 EUR"; $prezzo19="5.00 EUR"; $prezzo20="1.50 EUR";
27 if(isset($_POST['lasagne'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$lasagne','$tav','$prezzo1')");} if(isset($_POST['gnocchi'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$gnocchi','$tav','$prezzo2')");} if(isset($_POST['carbonara'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$carbonara','$tav','$prezzo3')");} if(isset($_POST['risopatateprovola'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$risopatateprovola','$tav','$prezzo4')");} if(isset($_POST['frittura'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$frittura','$tav','$prezzo5')");} if(isset($_POST['bruschette'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$bruschette','$tav','$prezzo6')");} if(isset($_POST['polpo'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$polpo','$tav','$prezzo7')");} if(isset($_POST['mozzpromel'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$mozzpromel','$tav','$prezzo8')");} if(isset($_POST['bistecca'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$bistecca','$tav','$prezzo9')");}
28 if(isset($_POST['salsiccefriarielli'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$salsiccefriarielli','$tav','$prezzo10')");} if(isset($_POST['cotolettapatatine'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$cotolettapatatine','$tav','$prezzo11')");} if(isset($_POST['filettosalmone'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$filettosalmone','$tav','$prezzo12')");} if(isset($_POST['macedonia'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$macedonia','$tav','$prezzo13')");} if(isset($_POST['coppafragolepanna'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$coppafragolepanna','$tav','$prezzo14')");} if(isset($_POST['tiramisu'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$tiramisu','$tav','$prezzo15')");} if(isset($_POST['crostatanutella'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$crostatanutella','$tav','$prezzo16')");} if(isset($_POST['fanta'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$fanta','$tav','$prezzo17')");} if(isset($_POST['cocacola'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$cocacola','$tav','$prezzo18')");} if(isset($_POST['vinorosso'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$vinorosso','$tav','$prezzo19')");} if(isset($_POST['acqua'])){ mysql_query("INSERT INTO ordinazione (nome_ordinazione,numero_tavolo,prezzo) VALUES('$acqua','$tav','$prezzo20')");} } ?>
29 Javascript var button0 = document.getElementById('b0'); var button1 = document.getElementById('b1'); var button2 = document.getElementById('b2'); var button3 = document.getElementById('b3'); var button4 = document.getElementById('b4'); var button5 = document.getElementById('b5'); var button6 = document.getElementById('b6'); var button7 = document.getElementById('b7'); var button8 = document.getElementById('b8'); var button9 = document.getElementById('b9'); var button10 = document.getElementById('b10'); var button11 = document.getElementById('b11'); var button12 = document.getElementById('b12'); var button13 = document.getElementById('b13'); var button14 = document.getElementById('b14'); var button15 = document.getElementById('b15'); var button16 = document.getElementById('b16'); var button17 = document.getElementById('b17'); var button18 = document.getElementById('b18'); var button19 = document.getElementById('b19'); var button20 = document.getElementById('b20'); var button21 = document.getElementById('b21'); var button22 = document.getElementById('b22'); var button23 = document.getElementById('b23')
30 var i=0; var punteggio=0; seq_real = new Array(); seq_real [0]=button0; seq_real [1]=button1; seq_real [2]=button2; seq_real [3]=button3; seq_real [4]=button4; seq_real [5]=button5; seq_real [6]=button6; seq_real [7]=button7; seq_real [8]=button8; seq_real [9]=button9; seq_real [10]=button10; seq_real [11]=button11; seq_real [12]=button12; seq_real [13]=button13; seq_real [14]=button14; seq_real [15]=button15; seq_real [16]=button16; seq_real [17]=button17; seq_real [18]=button18; seq_real [19]=button19; seq_real [20]=button20; seq_real [21]=button21; seq_real [22]=button22; seq_real [23]=button23; function fun1(e) { if(i==0){ if (!e) var e = window.event; if(e.value==seq_real[0]){ alert("una rana"); i++; punteggio+=10; alert(punteggio); } function fun2(e) { if(i==1){ if (!e) var e = window.event; if(e.value==seq_real[1]){ alert("salta"); i++; punteggio+=10; alert(punteggio); } else{ if (!e){ var e = window.event; punteggio-=5; alert(punteggio); }
31 function openpopup(punteggio){ var z; z=punteggio; var w = 1000; var h = 500; var pw = Math.floor((screen.width-w)/2); var ph = Math.floor((screen.height-h)/2); newwindow=window.open('redirect.php?z='+z+'',"","width=" + w + ",height=" + h + ",top=" + ph + ",left=" + pw) ; window.opener=self ; }
32 Visualizzazione e Cancellazione del conto <?php mysql_connect("localhost", "******, "*******") or die("Could not connect: ". mysql_error()); mysql_select_db("ms4_*******); if (isset($_POST['tavo1'])) { $query="DELETE FROM ordinazione WHERE numero_tavolo='tavolo1' "; $res= mysql_query($query) or die(mysql_error()); echo"Richiesta effettuata"; mysql_close(); } if (isset($_POST['tavolo1'])) { $q="SELECT * FROM ordinazione where numero_tavolo='tavolo1'"; $risultati=mysql_query($q); $num=mysql_numrows($risultati); $i=0; while ($i < $num) { $nome_account=mysql_result($risultati,$i,"nome_account"); $nome_ordinazione=mysql_result($risultati,$i,"nome_ordinazione"); $numero_tavolo=mysql_result($risultati,$i,"numero_tavolo"); $prezzo=mysql_result($risultati,$i,"prezzo"); echo " Tavolo: $numero_tavolo Ordinazione:$nome_ordinazione Nome Account : $nome_account Prezzo: $prezzo "; $i++; } echo" "; $que = "SELECT numero_tavolo, SUM(prezzo) FROM ordinazione WHERE numero_tavolo='tavolo1' GROUP BY numero_tavolo"; $result = mysql_query($que) or die(mysql_error()); while($row = mysql_fetch_array($result)){ echo "Totale ". $row['numero_tavolo']. " = ". $row['SUM(prezzo)']. " EURO "; } mysql_close(); } ?>