Note sugli esempi php e struttura del sito

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"
#
#
# 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"
#
Esempio 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
procedimento non è molto diverso) è consigliabile procedere nel modo seguente :
il
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
script:
E:\xampplite\htdocs\esempi_php, i seguenti
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 :
<?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();
}
?>
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.
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
sottocartella relativa al database creato :
è stata creata una
Realizzare, nell’ordine, almeno(!!) i seguenti script :
Esempio
Descrizione
creatabellaGeneri.php
creazione della
tbgeneri
tabella 01_creatabellaProfessioni.php
Script di riferimento
creatabellaLibro.php
creazione della
tblibri
tabella 03_creatabellaDipendenti.php
formInserimentoGeneri.php
form per inserire dati 07_formInserimentoProfessioni.php
nella tabella tbgeneri
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 -