![]() |
Un
breve tutorial per capire com'è strutturato e
come funziona questo tool
|
Non è
detto che, per installare uno script, si debba
necessariamente conoscere il Php. I puristi della
programmazione inorridiranno certamente leggendo
questa frase ma è evidente che ci sia differenza
tra conoscere bene il linguaggio e montare
semplicemente, sul proprio spazio web, delle
pagine in php.
Dicevamo che c'è
differenza...un'enorme differenza: non possiamo
certo paragonarci a chi crea, partendo da zero,
uno script complesso dato che non abbiamo le
conoscenze necessarie; ciò che invece ci serve per
una semplice installazione è alla portata di
tutti: poche regole di base per capire come
interagire con un database, richiesto solitamente
dagli script più complessi.
Ecco quindi il
perchè di questo brevissimo tutorial: avere a
disposizione una guida pratica all'utilizzo di
PhpMyAdmin con l'obiettivo di installare il
nostro primo script che richieda
MySql.
Prima di cominciare vediamo di cosa
abbiamo bisogno:
Il tutorial è rivolto
principalmente a chi lavora in locale e
presuppongo abbiate letto la mia guida a Php in locale su Windows. Se
invece volete lavorare direttamente sul vostro
spazio web (che risponde ai requisiti appena
elencati) non preoccupatevi: tuttosommato il
procedimento è molto simile e basterà capire
alcuni meccanismi di routine. Ricordate, però, che
in remoto alcune opzioni di gestione non saranno
disponibili (motivi di sicurezza) e avrete bisogno
anche dei dati di accesso al database, da
richiedere al vostro
provider.
PhpMyAdmin non è altro che
un'interfaccia grafica che permette di
amministrare MySql, un tipo di database che
immagazzina qualsiasi tipo di dati in strutture
chiamate tabelle; con PhpMyAdmin, in pratica,
possiamo visualizzare il contenuto del nostro
database; creare, modificare, cancellare intere
tabelle o singoli record; fare un backup dei dati
contenuti; visualizzare informazioni interessanti
sul db.
Per tentare di entrare
nell'argomento (anche se siamo inesperti) possiamo
considerare le tabelle come dei "contenitori" di
dati (chiamati record); le tabelle, che possono
avere diversi tipi di struttura, si trovano
all'interno di archivi molto grossi (i singoli
database appunto); ogni database, infine, può
contenere diverse tables purchè queste non
abbiano lo stesso nome.
PhpMyAdmin è uno
strumento utilissimo, oltre che per gli esperti,
anche per chi non conosce i comandi base di
interazione tra Php e MySql; nel momento in cui
scrivo l'ultima versione è la 2.2.1
con diverse funzioni in più rispetto alle
precedenti; questo tutorial, tuttavia, risulterà
utile anche a chi lavora con release più vecchie:
le operazioni fondamentali, infatti, sono
identiche.
Per capire il funzionamento di
questo strumento, alla fine della guida,
installeremo uno script che permette di
conteggiare gli utenti connessi sulle nostre
pagine. Lo zip è stato modificato inserendo alcuni
commenti utili; potete scaricare il file da qui.
Prima di
inziare il lavoro vero e proprio, vediamo
superficialmente com'è strutturato
PhpMyAdmin.
Attiviamo Apache, il database MySql
ed accediamo a PhpMyAdmin digitando l'URL
corrispettivo...io ad esempio digito:
http://localhost/phpadmin/index.php
|
Ci troviamo di
fronte ad una pagina composta da due frames; nella
colonna di sinistra, sotto la scritta Home,
ci sono i nomi di tutti i database creati; se è la
prima volta che attivate MySql dovreste
visualizzarne solo due: mysql e test
(mysql non va assolutamente toccato visto che
contiene dati importanti per il funzionamento del
db).
Nella pagina centrale ci sono le
risorse principali; abbiamo, ad esempio, il form
per creare un nuovo db; la scritta Utenti
per impostare nuovi users; il collegamento per
riavviare MySql ed una serie di link per
visualizzare alcune informazioni statistiche; sono
presenti, infine, interessanti collegamenti alla
documentazione ufficiale.
Andiamo
con ordine e facciamo un po' di pratica provando
alcuni dei comandi base.
Se si ha
la possibilità di farlo, perchè il nostro hoster
ce lo permette, si potrebbe creare un db per ogni
nuovo codice installato in modo da avere tutti i
dati suddivisi ed ordinati; sappiate comunque che,
come già detto, è possibile installare diversi
script sullo stesso db purchè non ci siano tabelle
con lo stesso nome.
Ci dovremo abituare a
questa situazione quando agiremo sul nostro spazio
remoto dato che la maggior parte dei provider
offrono, per ciascun utente, un solo database su
cui lavorare. Trovandoci in locale, invece, non
abbiamo questa restrizione.
Finita questa
piccola premessa continuiamo con le operazioni di
creazione. Facciamo riferimento al frame centrale:
nel campo di testo sotto la scritta Crea un
nuovo database [Documentazione] possiamo
inserire il nome del nuovo db. In questo caso,
data la tipologia dello script che installeremo,
suggerisco utenti_connessi (non dobbiamo
mai usare nomi staccati).
Una
volta scritto il titolo possiamo premere sul
bottone Crea e, "magicamente" (nel frame di
sinistra), apparirà il db che abbiamo appena
costruito; noterete anche la presenza di un segno
- (meno) che sta ad indicare l'assenza di
tabelle all'interno di utenti_connessi.
Viceversa il segno + indica la presenza di
tabelle all'interno di un database, come possiamo
facilmente vedere facendo riferimento a quello
chiamato mysql.
Operazione
inversa alla precedente. Mi riferisco, in
particolare, al db chiamato test dato che,
per le nostre prove, non ci servirà.
Clicchiamo
una volta sul nome del db da cancellare; se ci
fossero delle tabelle al suo interno queste
verrebbero visualizzate sia nel frame di sinistra
che nella pagina centrale; in questo caso, invece,
test è vuoto.
Avrete sicuramente notato
come, una volta selezionato il db, sia cambiato il
contenuto del frame principale; in fondo a questa
stessa pagina troverete un link molto
interessante: Elimina database test
[Documentazione].
È facile intuire la
funzione di questo comando; clicchiamo senza paura
sul link, diamo la conferma quando ci verrà
richiesto e test verrà cancellato
definitivamente. Ovviamente, per non completare
l'operazione, clicchiamo su
"ANNULLA".
Abbiamo
detto che ogni db contiene delle tabelle dove sono
immagazzinati i dati. Le tabelle, che dobbiamo
creare noi, possono avere numerosi campi al loro
interno ed ogni campo ha specifiche
caratteristiche, ad esempio in base alla grandezza
dei record da immettere.
Per creare le tabelle
con PhpMyAdmin esistono fondamentalmente due modi:
uno manuale in cui dovremo impostare ogni singolo
campo a mano ed un altro in cui basterà creare un
file con estensione .sql e caricarlo sul
server.
Inizialmente studieremo il primo
procedimento (analizzeremo l'altra possibilità
alla fine della prima parte della guida):
clicchiamo sul database utenti_connessi;
nel frame centrale, a fondo pagina, avremo:
Crea una nuova tabella nel database
utenti_connessi :
I
due text field richiedono il nome da dare alla
tabella e il numero di campi che questa tabella
dovrà avere. Supponiamo di voler creare un esempio
di prova. Immettiamo i seguenti dati:
Non
è questa la sede appropriata per spiegare le
caratteristiche che ogni campo può avere; ci basti
sapere (se ancora non abbiamo letto le guide di
base) che, quando installeremo degli script
creando le tabelle a mano, dovremo impostare
alcuni parametri specifici per ogni
campo.
Visto che stiamo facendo delle prove
riempiano le voci "Campo", nella schermata
poco fa visualizzata, con due nomi a piacere:
prova1 e prova2. Fatto questo
clicchiamo su Salva per completare
l'operazione.
Per avere un riassunto della
situazione selezioniamo (nel frame di sinistra) il
nostro db (utenti_connessi); nel frame centrale
avremo tutte le tabelle presenti all'interno del
db selezionato (in questo caso una sola);
clicchiamo su Proprietà per vedere in
dettaglio la composizione della tabella
test:
Facciamo
riferimento sempre all'immagine successiva;
notiamo che accanto alla voce "Proprietà"
ci sono altri link per la gestione delle tabelle:
analizziamoli velocemente.
Nel caso
avessimo commesso uno sbaglio nel compilare un
campo abbiamo la possibilità di correggere gli
errori senza dover ripartire da
zero.
Supponiamo di voler cambiare il nome del
primo campo da prova1 a
prova.
Clicchiamo, ancora una volta, sul
nome del db nel frame sinistro; dopo che il menù
si sarà espanso, mostrando le tabelle presenti
all'interno di utenti_connessi,
selezioniamo la tabella interessata (in questo
caso test). Avremo davanti una schermata di
questo tipo:
Selezioniamo
Modifica riferito a prova1 e, nella
schermata successiva, trasformiamo il contenuto di
"Campo" da prova1 a prova;
premiamo "Salva" per aggiornare le
modifiche.
Questo stesso procedimento può
essere compiuto anche per le modifiche agli altri
campi della tabella (non solo al nome).
Prima di
concludere questa parte "teorica" è bene sapere
come fare un backup del database e come
reinstallarlo in caso di bisogno.
Per scaricare
sul nostro pc una copia dei dati basta cliccare
(nel frame di sinistra) sul nome del db che
vogliamo salvare; fatto questo cerchiamo, nella
parte centrale della pagina, la scritta
Visualizza dump (schema) del database e
spuntiamo i checkbox come da figura:
Una
volta cliccato su "Esegui" inizierà il
salvataggio (nel formato scelto) del nostro
database in modo da poter custodire una copia di
sicurezza per ogni evenienza.
Supponiamo,
adesso, di dover reinstallare un backup del db
perchè i dati sono andati persi...sono cose che
succedono raramente ma per fortuna siamo
previdenti.
Prima di tutto scompattiamo il file
zip che avevamo precedentemente scaricato; dentro
ci sarà un file con estensione .sql che
rapprensenta, appunto, il backup effettuato.
Adesso, nel frame di sinistra, clicchiamo sul nome
del db che vogliamo ripristinare (se questo non
esiste più basterà ricrearlo). Nella schermata
centrale, poco sotto il link Visualizza per
stampa, ci sarà un text field con accanto il
bottone "Sfoglia".
Andiamo a cercare il
file .sql come da figura:
e
clicchiamo su "Esegui". Il tempo di
importazione varierà a seconda della grandezza del
file e alla fine del processo dovremmo ricevere
questo messaggio:
Database xxxx
La
query è stata eseguita con successo :
Il
contenuto del file è stato inserito. (xxx
Istruzioni)
Com'è facilmente intuibile
il testo ci indica che tutto è andato a buon
fine.
Personalmente consiglio di effettuare
periodicamente un backup del database, soprattutto
se si tratta di dati online. È vero che raramente
dovrebbero verificarsi dei seri problemi ma, vista
la semplicità dell'operazione, è sempre bene
tenere una copia di sicurezza sul nostro pc.
Molti di
voi avranno già capito che la stessa procedura per
reinstallare un backup è valida anche per
importare un file .sql adatto al
funzionamento di uno script.
Riprendiamo,
quindi, il discorso sulla creazione delle tabelle
lasciato a metà in precedenza; avevamo detto che,
oltre alla possibilità di crearle a mano, si può
anche importare direttamente un file a patto che
questo sia scritto in un certo modo.
Dovete
sapere, infatti, che molti script (specialmente i
più complessi) hanno un file .sql che permette di
creare la struttura del database senza dover
impostare ogni singola tabella a mano... cosa che
richiederebbe molto tempo.
L'utente non dovrà
fare altro che scegliere il db appropriato e
uploadare il file su Mysql.
Ad esempio vi avrei
reso la vita più facile se avessi incluso nello
zip dello script utenti, un documento
useronline.sql strutturato
così:
#
phpMyAdmin MySQL-Dump # version 2.2.1 # http://phpwizard.net/phpMyAdmin/ # http://phpmyadmin.sourceforge.net/ (download page) # # Host: localhost # Generato il: 10 Dic, 2001 at 05:07 PM # Versione MySQL: 3.23.41 # Versione PHP: 4.0.6 # Database : `utenti_connessi` # -------------------------------------------------------- # # Struttura della tabella `useronline` # CREATE TABLE useronline ( zeit int(15) NOT NULL default '0', ip varchar(15) NOT NULL default '', file varchar(50) NOT NULL default '', PRIMARY KEY (zeit), KEY ip (ip), KEY file (file) ) # # Dump dei dati per la tabella `useronline` # |
Avendo
a disposizione un file di questo tipo in
pochissimo tempo avremmo impostato in modo
corretto la tabella; sarebbe stato sufficiente
uploadare useronline.sql nel database
utenti_connessi senza tutti i passaggi che
eseguiremo prossimamente.
A questo punto
penso di aver descritto tutte le principali
funzioni di PhpMyAdmin; l'importante è conoscere
le basi di questo utile tool...lascio a voi
l'arduo compito di scoprire il resto se vi
va.
Adesso
che abbiamo familiarizzato con PhpMyAdmin
possiamo passare all'installazione dello script.
Visto che ormai sappiamo come fare, cancelliamo la
tabella di prova che avevamo creato all'interno
del db utenti_connessi in modo da lasciarlo
vuoto.
Scompattiamo lo zip dello script; al suo
interno troveremo 3 file oltre ad una cartella
contenente il documento per configurare l'accesso
al database MySql.
Apriamo, con un qualsiasi
editor di testo (anche il notepad), il file
dbconf.php situato dentro la cartella
include.
La prima parte del documento
contiene questo codice:
//Dati
di accesso al
database //host $db_server = "localhost"; //username $db_username = "root"; //password $db_passwort = ""; //nome del database $db_database = "utenti_connessi"; //nome della tabella $db_table = "useronline"; |
Se stiamo
lavorando in locale probabilmente non avremo
bisogno di toccare nulla (sempre che abbiate
impostato, tra i vari user, anche l'utente "root"
senza password). Nel caso lavoriate in remoto
(oppure abbiate cancellato l'utente "root")
dovrete personalizzare i dati di accesso.
Il
resto dello script non va toccato; quello che
invece dobbiamo fare è creare a mano la tabella
"useronline" all'interno del database
"utenti_connessi".
La
tabella necessaria al funzionamento dello script
ha questa struttura:
CREATE
TABLE useronline ( zeit int(15) NOT NULL, ip varchar(15) NOT NULL, file varchar(50) NOT NULL, PRIMARY KEY (zeit), KEY ip (ip), KEY file (file) ); |
Da
una prima occhiata possiamo vedere che sono
necessari tre campi: zeit, ip e
file, ognuno con determinate
caratteristiche.
Vediamo passo passo come
impostare il tutto:
Nella
schermata successiva abbiamo la struttura dei tre
campi ancora da riempire.
La
configurazione del database è completa.
Spostiamoci dentro la cartella di lavoro di Apache
(quella in cui solitamente mettiamo i documenti da
testare) e mettiamoci dentro la cartella dello
script (è chiamata utenti) con tutto il suo
contenuto: il folder include, il file
useronline.php e il file userin.php.
Creiamo due semplici pagine con estensione
.php: la prima verrà chiamata index.php e
la seconda prova.php (o qualsiasi altro
nome).
L'index conterrà solamente questa
stringa:
<?
include ("useronline.php"); ?>
|
La pagina
prova, invece, avrà questa
inclusione:
<?
include ("userin.php"); ?>
|
Salviamo
le due pagine appena create dentro la cartella
utenti e, dopo aver attivato Mysql e
Apache, digitiamo l'url che porta
all'index:
http://localhost/utenti/index.php
Sperando
che abbiate seguito alla lettera le mie istruzioni
dovrebbe apparire questa tabella:
Ecco
qui: adesso possiamo visualizzare quanti utenti
accedono al nostro sito.
Prima di
concludere una breve spiegazione sullo script. Il
file useronline.php va incluso nella pagina
in cui si vuole visualizzare la tabella che mostra
gli utenti on line. La grafica della tabella
stessa può essere modificata agendo sul file
dbconf.php all'interno della cartella
include.
Il file userin.php,
invece, va inserito in tutte le pagine del sito
che si vogliono includere nel conteggio degli
utenti. Se infatti un altro utente, con un IP
diverso dal nostro quindi, si collegasse alla
pagina prova.php, noteremmo che,
"refreshando" l'index.php, il contatore è
aumentato di una unità.
Va da sè che,
solitamente, tutte le pagine di un sito non stanno
nella stessa cartella; ecco quindi che, per
facilitare le cose, consiglio di includere il file
userin.php con percorso assoluto e non
relativo:
<?
include
("http://www.vostro_sito.it/utenti/userin.php");
?> |
A
questo punto non resta che augurarvi buon
lavoro...