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 e che permetta al visitatore di visualizzare i prodotti presenti in magazzino e al responsabile/amministratore di visualizzare i clienti iscritti al sito. Realizzare la procedura in PHP, con l utilizzo anche di MySQL, secondo lo schema: un area con l archivio dei prodotti che possono essere visualizzati senza l utilizzo delle credenziali di accesso; un area protetta dove si gestiscono i dati dei clienti (inserimento, modifica, eliminazione) alla quale possono accedere unicamente gli amministratori; un area alla quale possono accedere solo i clienti registrati al sito dove possono acquistare i prodotti. Tutte le procedure devono essere inserite all interno di un sito web già realizzato. ANALISI DI MASSIMA Il programma richiede di creare un sito e-commerce dove i clienti potranno registrarsi, visualizzare tutti i prodotti del negozio e acquistarli direttamente online. Gli amministratori, invece, potranno gestire tutti i clienti e i prodotti direttamente da un area protetta. ANALISI DI MINIMA Sono state realizzate 10 pagine in PHP per la creazione del sito completo: acquisti.php amministrazione.php delete_title.php insert.php iscritti.php loginamm.php loginiscr.php registrazione.php update.php update1.php
In seguito è stato realizzato il database mediante il linguaggio di programmazione MySQL utilizzato in commbinazione con il programma EasyPHP, che permette di collegarsi al supporto con il quale viene creato il database chiamato my_gabrielefiorani. Al suo interno sono stare realizzate due tabelle, reglog e magazzino, compilate in tutti i rispettivi campi. Le tabelle saranno poi collegate alle rispettive parti del sito che le richiedono. Login Amministratori: Il login degli amministratori avviene mediante la compilazione di un modulo form composto da due caselle di testo in cui dovranno essere inseriti il nome utente e la password. Una volta inseriti i dati richiesti il viene eseguito un controllo sulla correttezza dei parametri e nel caso in cui questi non siano corretti sarà visualizzato un messaggio di errore. Registrazione utente: La registrazione degli utenti avviene mediante l inserimento dei dati richiesti all interno di un modulo form composto da 8 campi. Una volta che tutti i dati sono stati inseriti l utente sarà registrato ed i dati aggiunti alla tabella reglog del database. Login utente: Il login degli utenti viene gestito mediante un modulo form composto da 2 campi i quali una volta compilati e premuto INVIO daranno inizio al controllo dell esistenza dell utente nella tabella reglog del database. Se l username e la password vengono trovati all interno della tabella l utente potrà accedere alla pagina degli acquisti e comprare altrimenti, nel caso in cui l utente non sia ancora registrato sarà mostrato un messaggio d errore che lo invita a registrarsi. Acquisti: In questa sezione i clienti possono acquistare i videogames che più gli piacciono (solo dopo aver eseguito il login). Una volta compilati i campi del modulo form che richiedono il codice e le unità da acquistare verrà visualizzato un riepilogo dell acquisto.
Creazione del database: CREATE DATABASE my_gabrielefiorani; USE my_gabrielefiorani; CREATE TABLE reglog ( Nome varchar(30), Cognome varchar(30), Paese varchar(30), CAP varchar(5), Tel varchar(10), Cell varchar(10), Username varchar(10), Password varchar(10), PRIMARY KEY (Username) )Engine InnoDB; CREATE TABLE magazzino ( CodGioco varchar(7), Nome varchar(30), Creatore varchar(30), Console varchar(20), PU decimal(10,2), Esistenze integer(100), PRIMARY KEY (CodGioco) )Engine InnoDB; MANUALE D USO Sul proprio computer è innanzitutto necessario avere installato un web server, ad esempio EasyPHP. Una volta che sarà stato installato verrà creata in modo automatico, nel disco locale del computer, all interno della cartella di installazione del programma, una sottocartella www. Per testare il proprio lavoro è necessario copiare tutti i file all interno di questa cartella, avviare il programma facendo attenzione che il server Apache si sia avviato correttamente e, infine, andare all indirizzo 127.0.0.1 con il proprio browser. Una volta fatto questo sarà necessario cliccare sul nome della cartella www e automaticamente verrete indirizzati sulla pagina principale del vostro lavoro.
USER GUIDE On your computer you must first have installed a web server, such as EasyPHP. Once it has been installed will be created automatically, in the computer's local disk, within the installation folder of the program, a subfolder www. To test your work you must copy all the files inside this folder, start the program, making sure that the Apache server has started correctly and, finally, go to "127.0.0.1" with your browser. Once this is done you need to click on the folder name "www" and you will be directed automatically to the main page of your work. LINGUAGGIO UTILIZZATO Nella realizzazione di tutte le pagine con estensione.php e del database sono stati utilizzati il linguaggio PHP e quello SQL, ad eccezione della pagina amministrazione.php nella quale è stato utilizzato anche il linguaggio HTML. LISTING DEL PROGRAMMA acquisti.php //Inizializzo Variabili $codg=$_post['codg']; $qta=$_post['qta']; $dbname="e_commerce"; $query7="select CodGioco, Nome, PU*$qta AS 'Tot' FROM magazzino WHERE CodGioco='$codg'"; $result7=mysql_query($query7);
$query6="update magazzino SET Esistenze=Esistenze-$qta WHERE CodGioco='$codg'"; $result6=mysql_query($query6); if(!$result6) if(!$result7) $riga=mysql_fetch_array($result7); if(!$riga) echo "Il gioco da Lei selezionato non è presente nei nostri archivi"; else echo "Ordine eseguito correttamente<br>"; echo "Riepilogo:<br>"; echo "Codice:".$riga['CodGioco']."<br>"; echo "Nome:".$riga['Nome']."<br>"; echo "Costo Totale:".$riga['Tot']."<br>"; //Chiudo la connessione mysql_close($conn); amministrazione.php <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="style.css" /> <title>amministrazione</title> </head> <body> <div id="container"> <div id="header"> <h1>video<span class="off">games.it </span></h1> </div> <div id="menu"> <ul> <li class="menuitem"><a href="index.html">home</a></li> <li class="menuitem"><a href="ps3.html">ps3</a></li>
<li class="menuitem"><a href="xbox360.html">xbox 360</a></li> <li class="menuitem"><a href="contatti.html">contatti</a></li> <li class="menuitem"><a href="iscrizione.html">iscriviti</a></li> <li class="menuitem"><a href="login.html">login</a></li> </ul> </div> <div id="leftmenu"> <div id="leftmenu_top"></div> <div id="leftmenu_main"> <h3><strong>menu</strong>:</h3> <ul> <li><a href="ps3.html">ps3</a></li> <li><a href="xbox360.html">xbox 360</a></li> <li><a href="contatti.html">contatti</a></li> <li><a href="iscrizione.html">iscriviti</a></li> <li><a href="login.html">login</a></li> <li></li> </ul> </div> <div id="leftmenu_bottom"></div> </div> <div id="content"> <div id="content_top"></div> <div id="content_main"> <h2>amministrazione</h2> <p>rimanenze:</p> <p>
$dbname="e_commerce"; $query="select * FROM magazzino"; $result=mysql_query($query); if(!$result) $num=mysql_num_rows($result); //Chiudo la connessione mysql_close($conn); //Mando a video il risultato $i=0; while ($i < $num) $cod_gioco=mysql_result($result,$i,"codgioco"); $nome=mysql_result($result,$i,"nome"); $creatore=mysql_result($result,$i,"creatore"); $console=mysql_result($result,$i,"console"); $pu=mysql_result($result,$i,"pu"); $esistenze=mysql_result($result,$i,"esistenze"); echo "$cod_gioco $nome $creatore $console $pu $esistenze<br>"; $i++; </p> <p> </p> <p>rifornisci MAGAZZINO:</p> <table width="150" border="1" align> <form action="update.php" method="post"> <td>codgioco:</td> <td><input type="text" name="codice" /></td> <td>esistenze:</td>
<td><input type="text" name="esistenze" /></td> <td> </td> <td> </td> <td><input type="submit" value="invio" /></td> <td><input type="reset" value="reset" /></td> </form> </table> <strong>aggiungi TITOLO</strong>: <table width="150" border="1" align> <form action="insert.php" method="post"> <td>codgioco:</td> <td><input type="text" name="cod" /></td> <td>nome:</td> <td><input type="text" name="name" /></td> <td>creatore:</td> <td><input type="text" name="creator" /></td> <td>console:</td> <td><input type="text" name="console" /></td> <td>pu:</td> <td><input type="text" name="pu" /></td> <td>esistenze:</td> <td><input type="text" name="exist" /></td> <td> </td> <td> </td> <td><input type="submit" value="invio" /></td> <td><input type="reset" value="reset" /></td> </form> </table> <p>elimina TITOLO</p>
<table width="150" border="1"> <form action="delete_title.php" method="post"> <td>codgioco:</td> <td><input type="text" name="cod2" /></td> <td> </td> <td> </td> <td><input type="submit" value="invio" /></td> <td><input type="reset" value="reset" /></td> </form> </table> <hr color="darkgreen" /> <p>iscritti:</p> <p> $dbname="e_commerce"; $query1="select * FROM reglog"; $result1=mysql_query($query1); if(!$result1) $num1=mysql_num_rows($result1); //Chiudo la connessione
mysql_close($conn); //Mando a video il risultato $j=0; while ($j < $num1) $name=mysql_result($result1,$j,"nome"); $surname=mysql_result($result1,$j,"cognome"); $city=mysql_result($result1,$j,"paese"); $cap=mysql_result($result1,$j,"cap"); $tel=mysql_result($result1,$j,"tel"); $cell=mysql_result($result1,$j,"cell"); $user5=mysql_result($result1,$j,"username"); $passw5=mysql_result($result1,$j,"password"); echo "$name $surname $city $cap $tel $cell $user5 $passw5<br>"; $j++; </p> <p> </p> </p> <p>eliminazione ISCRITTI:</p> <p> <table width="150" border="1" align> <form action="update1.php" method="post"> <td>username:</td> <td><input type="text" name="username" /></td> <td> </td> <td> </td> <td><input type="submit" value="invio" /></td> <td><input type="reset" value="reset" /></td> </form> </table> </p> </div> <div id="content_bottom"></div> <div id="footer"><h3> </h3></div> </div> </div> </body> </html>
delete_title.php //Inizializzo Varibili $codgame1=$_post['cod2']; $dbname="e_commerce"; $query5="delete FROM magazzino WHERE CodGioco='$codgame1'"; $result5=mysql_query($query5); if(!$result5) else echo "Iscritto Eliminato"; //Chiudo la connessione mysql_close($conn); header("location: amministrazione.php");
insert.php //Inizializzo variabili $codgame=$_post['cod']; $nome5=$_post['name']; $creatore=$_post['creator']; $console=$_post['console']; $pu=$_post['pu']; $exist=$_post['exist']; $dbname="e_commerce"; $query4="insert INTO magazzino VALUES ('$codgame', '$nome5', '$creatore', '$console', '$pu', '$exist')"; $result4=mysql_query($query4); if(!$result4) else echo "Inserimento Nuovo Titolo Completato"; //Chiudo la connessione mysql_close($conn);
loginamm.php //Inizializzo Variabili $user=$_post['user1']; $passw=$_post['passw1']; //Accesso if($user=="admin" && $passw=="admin") header( "location: amministrazione.php"); else echo "Username o Password errati"; loginiscr.php //Inizializzo Varibili $user=$_post['user2']; $passw=$_post['passw2']; $dbname="e_commerce"; echo "Connessione avvenuta correttamente<br>"; $query="select * FROM reglog WHERE Username LIKE '$user' AND Password LIKE '$passw'"; $result=mysql_query($query); if(!$result)
//Confronto username e password if(mysql_num_rows($result)!=0) header( "location: iscritti.html"); else echo "Username o Password errato/a<br>"; //Chiudo la connessione mysql_close($conn); echo "Connessione terminata<br>"; registrazione.php //Inizializzo variabili $nome=$_post['nome']; $cognome=$_post['cognome']; $paese=$_post['paese']; $cap=$_post['cap']; $tel=$_post['tel']; $cell=$_post['cell']; $user=$_post['useriscr']; $passw=$_post['passwiscr']; $dbname="my_alessiavarriale"; $query="insert INTO registrazioni VALUES ('$nome', '$cognome', '$paese', '$cap', '$tel', '$cell', '$user', '$passw')"; $result=mysql_query($query);
if(!$result) else echo "Registrazione Completata"; //Chiudo la connessione mysql_close($conn); update.php //Inizializzo Varibili $cod_gioco=$_post['codice']; $esistenze=$_post['esistenze']; $dbname="e_commerce"; $query="update magazzino SET Esistenze=$esistenze WHERE CodGioco='$cod_gioco'"; $result=mysql_query($query); if(!$result) else echo "Esistenze Aggiornate";
//Chiudo la connessione mysql_close($conn); update1.php //Inizializzo Varibili $username5=$_post['username']; $dbname="e_commerce"; $query3="delete FROM reglog WHERE Username= '$username5'"; $result3=mysql_query($query3); if(!$result3) else echo "Iscritto Eliminato"; //Chiudo la connessione mysql_close($conn); header("location: amministrazione.php");