Post on 16-Feb-2019
Note sugli esempi php e sulla struttura del sito
Note sugli esempi php e struttura del sito
Introduzione pag. 2
Impostazioni per il sito pag. 6
Impostazioni di default per Apache e MySQL pag. 9
Configurare il server Apache pag. 11
Configurazione di MySQL tramite my.ini pag. 14
Esempi proposti pag. 16
Realizzare un sito personale utilizzando XAMMPPlite pag. 19
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 1 -
Note sugli esempi php e sulla struttura del sito
Introduzione
Gli esempi PHP proposti fanno riferimento ad un sito strutturato nel seguente modo da utilizzare con XAMPP o con Apache, MySQL e PHP installati separatamente :
Tutto il sito è contenuto nella cartella c:/salva/miosito
La pagina indice.php (da utilizzare eventualmente come pagina da avvio) consente di ottenere l’elenco dei file e cartelle contenute nella cartella di default del sito.
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 2 -
Note sugli esempi php e sulla struttura del sito
La cartella contiene le immagini usate dalla pagina indice.php
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 3 -
Note sugli esempi php e sulla struttura del sito
La cartella contiene le pagine php per la gestione di database MySQL
La pagina indicedir.php ha la stessa funzione della pagina indice.php e viene richiamata automaticamente dalla pagina indice.php quando si seleziona una cartella.
La cartella contiene i database MySQL
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 4 -
Note sugli esempi php e sulla struttura del sito
Le cartelle e contengono
pagine per la gestione, rispettivamente, di una rubrica telefonica
e di dati anagrafici relativi ai dipendenti di una generica azienda.
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 5 -
Note sugli esempi php e sulla struttura del sito
Impostazioni per il sito
Per ottenere un sito strutturato nel modo proposto occorre configurare opportunamente sia Apache che MySQL variando le impostazione di default in modo che le pagine del sito e i database siano settati ai valori desiderati.
Se, invece, si vuole utilizzare le impostazioni di default del web server e di MySQL è sufficiente copiare il file e le cartelle evidenziate nella figura successiva nella cartella
del web server (XAMPP o Apache)
e la cartella di nella cartella di
MySQL o di XAMPP (vedere paragrafo successivo).
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 6 -
Note sugli esempi php e sulla struttura del sito
Se si utilizza la versione XAMPPlite tutti i file di configurazione, gli esempi ed il
database sono compresi in un’unica cartella :
in sono presenti gli esempi :
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 7 -
Note sugli esempi php e sulla struttura del sito
e nella cartella mysql\data i database :
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 8 -
Note sugli esempi php e sulla struttura del sito
Impostazioni di default per Apache e MySQL
Se è stata effettuata una installazione di Apache 2.2 e MySQL 5.0 (nella cartella c:\salva) le impostazioni di default sono le seguenti :
Le pagine del sito sono ricercate nella cartella C:\salva\Apache Software Foundation\Apache2.2\htdocs
I database sono ricercati nella cartella C:\salva\MySQL\MySQL Server 5.0\data
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 9 -
Note sugli esempi php e sulla struttura del sito
Se è stata effettuata una installazione XAMPP (nella cartella c:\salva) le impostazioni di default sono le seguenti :
Le pagine del sito sono ricercate nella cartella c:\salva\xampp\htdocs
I database sono ricercati nella cartella c:\salva\xampp\mysql\data
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 10 -
Note sugli esempi php e sulla struttura del sito
Configurare il server Apache
Variazione della cartella di default
Aprire il file di configurazione (httpd.conf) di Apache che si trova nella seguente posizione :
per Apache 2.2
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 11 -
Note sugli esempi php e sulla struttura del sito
per XAMPP
ed apportare le seguenti modifiche :
# # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "C:/salva/xampp/htdocs" #
E
# # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but# symbolic links and aliases may be used to point to other locations. # DocumentRoot "C:/salva/miosito" #
sempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 12 -
Note sugli esempi php e sulla struttura del sito
# # This should be changed to whatever you set DocumentRoot to. # <Directory "C:/salva/xampp/htdocs"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
# # This should be changed to whatever you set DocumentRoot to. # <Directory "C:/salva/miosito"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
Le pagine da eseguire con Apache ora si trovano nella cartella C:/salva/miosito
Nota : le pagine, comunque, devono essere sempre lanciate dal browser con : http://localhost/pagina.html, http://localhost/pagina.php, ecc.
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 13 -
Note sugli esempi php e sulla struttura del sito
Configurazione di MySQL tramite my.ini
Prima di effettuare qualsiasi variazione sul file my.ini è necessario fermare il
server MySQL e riavviarlo dopo le variazioni effettuate.
Aprire con un editor il file my.ini (prima di modificare il file my.ini è consigliabile farne una copia). Il file my.ini si trova nella seguente posizione :
per MySQL 5.0
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 14 -
Note sugli esempi php e sulla struttura del sito
per XAMPP
ed apportare la seguente modifica :
#Path to the database root datadir="C:/salva/miosito/Data/"
I database MySQL si trovano, ora, nella cartella C:/salva/miosito/Data.
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 15 -
Note sugli esempi php e sulla struttura del sito
Esempi proposti
Gli esempi proposti riguardano la gestione di una “Rubrica telefonica” e la gestione dei
“Dati anagrafici dei dipendenti” di una generica azienda. E’ consigliabile consultare e provare gli esempi php proposti :
nel seguente ordine :
Esempio Descrizione connessioneserverMySQL.php connessione al server
creazioneDBMySQL.php creazione del database dbmiodb (usando gli esempi ed il database proposto quest’ultimo risulta già creato)
aperturadbMySQL.php apertura del database dbmiodb
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 16 -
Note sugli esempi php e sulla struttura del sito
Aprire la cartella
e provare gli script nel seguente ordine :
Esempio Descrizione 1_creazioneRubrica.php creazione della tabella rubrica (risulta già creata)
2_inserimentoDirettoRubrica.php inserimento diretto di un record nella tabella rubrica
3_formInserimentoRubrica.php form per inserimento dati nella tabella rubrica
4_elencoOrdinato.php elenco ordinato dei dati presenti nella tabella rubrica
5_visualizzaRubrica.php visualizzazione dati presenti nella tabella rubrica
6_visualizzaRubrica.php visualizzazione dati presenti nella tabella rubrica
7_visualizzaRubrica.php visualizzazione dati presenti nella tabella rubrica
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 17 -
Note sugli esempi php e sulla struttura del sito
Aprire la cartella
e provare gli script nel seguente ordine :
Esempio Descrizione
01_creatabellaProfessioni.php creazione della tabella tbprofessioni (utilizzata dalla tabella tbdipendenti)
02_creatabellaComuni.php creazione della tabella tbcomuni (utilizzata dalla tabella tbdipendenti)
03_creatabellaDipendenti.php creazione della tabella tbdipendenti (che utilizza chiavi esterne alle tabelle tbprofessioni e tbcomuni)
06_riempimentoCasellacombinata.php riempimento di una casella combinata a discesa con dati prelevati dalla tabella tbprofessioni
07_formInserimentoProfessioni.php form per inserire dati nella tabella tbprofessioni
08_formInserimentoProfessioni.php form per inserire dati nella tabella tbcomuni
09_formInserimentoDipendente.php form per inserire dati nella tabella tbdipendenti
10_ricercaDipendente.php form per la ricerca condizionata di dati nella tabella tbdipendenti
11_elencoOrdinatoComuni.php elenco ordinato, a scelta, dei dati presenti nella tabella tbcomuni
12_modificaEliminazioneDipendente.php richiesta di modifica o eliminazione di un record dalla tabella tbdipendenti
modifica.php form per la modifica di un record della tabella tbdipendenti
elimina.php form per la eliminazione di un record dalla tabella tbdipendenti
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 18 -
Note sugli esempi php e sulla struttura del sito
Realizzare un sito personale utilizzando XAMPPlite
Realizzare le pagine php per la gestione di una Biblioteca. Il database (dbbiblioteca) è formato semplicemente dalla tabella tblibri, comprendenti le informazioni fondamentali per gestire i libri della Biblioteca, e dalla tabella ausiliaria tbgeneri, utilizzata dalla tabella tblibri come tabella esterna, comprendente la classificazione dei generi a cui può appartenere un libro (avventura, giallo, fantascienza, storia, ecc.).
Utilizzando XAMMPlite (usando XAMPP o APACHE con PHP e MYSQL il procedimento non è molto diverso) è consigliabile procedere nel modo seguente :
Nella cartella E:\xampplite\htdocs (E: è la lettera, in questo caso, associata alla pen drive) creare una nuova cartella :
in cui saranno inseriti i vari scripts realizzati
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 19 -
Note sugli esempi php e sulla struttura del sito
Copiare, prelevandoli dalla cartella E:\xampplite\htdocs\esempi_php, lo script e la cartella seguente (se si vuole sfruttare la possibilità di visualizzare il contenuto della cartella stessa) :
Copiare, prelevandoli dalla cartella E:\xampplite\htdocs\esempi_php, i seguenti script:
Esempio Descrizione connessioneserverMySQL.php connessione al server
creazioneDBMySQL.php creazione del database dbbiblioteca
aperturadbMySQL.php apertura del database dbbiblioteca
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 20 -
Note sugli esempi php e sulla struttura del sito
Modificare lo script: connessioneserverMySQL.php specificando il nome del database che si vuole gestire :
E’ utile ricordare che lo script aperturadbMySQL.php, utilizzato da tutti gli script che si vogliono realizzare per risolvere il problema proposto, effettua la connessione al server MySQL ed apre il database specificato.
<?php // script : connessioneserverMySQL.php // definizione delle variabili : $nomeserver = "localhost"; //nome del server $nomeutente="root"; //username o login d'accesso al database $dbpassword = ""; // password del database $nomedb = "dbBiblioteca"; // nome del database a cui connettersi /* Connessione ad un Server MySQL mediante la funzione : mysql_connect ("hostname", "username", "password"); all'interno della variabile $link é memorizzato il processo di connessione al server. Nel momento in cui si deve chiudere la connessione anziché scrivere : mysql_close ("hostname", "username", "password"); é sufficiente scrivere l'istruzione : mysql_close ($link); */ $link = mysql_connect ("$nomeserver", "$nomeutente", "$dbpassword"); if ($link) { /* se la connessione avviene correttamente viene visualizzato un messaggio (che conviene eliminare dopo aver superato la fase di test) */ echo("Connessione al server avvenuta correttamente!"); } else { /* se la connessione non avviene possono essere visualizzati, per esempio, messaggi d'errore usando le seguenti funzioni : la funzione mysql_errno() restituisce il numero dell'errore verificatosi la funzione mysql_error() restituisce la descrizione dell'errore verificatosi */ echo "Errore nr. <b>". mysql_errno() ." </b> nella connessione al server ! <br>"; echo "Errore <b>". mysql_error(). " </b> nella connessione al server !"; exit(); } ?>
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 21 -
Note sugli esempi php e sulla struttura del sito
<?php // script : aperturadbMySQL.php // APERTURA DATABASE // connessione al server include("connessioneserverMySQL.php"); /* Dopo la connessione al server MySql é necessario aprire il database con la funzione : mysql_select_db (nomedatabase,connessione) il database deve essere già esistente!!! altrimenti la funzione restituisce un errore! Il nome del database è definito nel file "connessioneserverMySQL.php" all'interno della variabile $nomedb. La variabile $link, che definisce la connessione, viene generata nel file "connessioneserverMySQL.php" */ $apridb=mysql_select_db ($nomedb,$link); if ($apridb) { /* se l'apertura del database avviene correttamente viene visualizzato un messaggio (che conviene eliminare dopo aver superato la fase di test) */ // echo "Database <b>$nomedb</b> aperto con successo <br>"; } else { echo "Errore nr. <b>". mysql_errno() ." </b> nella selezione del database ! <b>$nomedb</b><br>"; echo "Errore <b>". mysql_error(). " </b> nella selezione del database <b>$nomedb</b>!<br>"; exit(); } ?>
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 22 -
Note sugli esempi php e sulla struttura del sito
Eseguire, da un browser, lo script creazioneDBMySQL.php :
come si può notare nella cartella E:\xampplite\mysql\data è stata creata una sottocartella relativa al database creato :
Realizzare, nell’ordine, almeno(!!) i seguenti script :
Esempio Descrizione Script di riferimento
creatabellaGeneri.php creazione della tabella tbgeneri
01_creatabellaProfessioni.php
creatabellaLibro.php creazione della tabella tblibri
03_creatabellaDipendenti.php
formInserimentoGeneri.php form per inserire dati nella tabella tbgeneri
07_formInserimentoProfessioni.php
formInserimentoLibri.php form per inserire dati nella tabella tblibri
09_formInserimentoDipendente.php
formRicercaLibro.php form per la ricerca condizionata di dati nella tabella tblibri
10_ricercaDipendente.php
Esempio di un sito in php per la gestione di database MySQL (a cura del prof. Salvatore De Giorgi) - 23 -