Gestire record su file

Esempio di una gestione di record per effettuare il login o la registrazione.
I record sono salvati su un file con estensione csv.

Pagine utilizzate :

inizio.php
contiene i tag iniziali di una pagina html e il titolo del sito
[php]


<?php echo $titolo;?>

Prove informatica

[/php]

index.php
richiama la pagina inizio.php , menu.php , fine.php
[php]

Prove di salvataggio e di lettura di record su file


[/php]

menu.php
contiene una serie di link per accedere alle pagine del sito
[php]

[/php]

fine.php
contiene i tag finali di una pagina html
[php]


[/php]

login.php
visualizza il form per effettuare il login.
una volta inseriti i dati li invia alla pagina controlla_login.php per verificarli
[php]

Login
E-mail :

Password :




[/php]

controlla_login.php
recupera i dati ricevuti tramite post , apre il file dbutenti.csv e controlla se i
dati inseriti sono presenti
[php]
0,1,2,3
$trovato = true; //se trovo una corrispondenza con una mail e una password già salvata sul file il login è riuscito
}
fclose($file); //chiudo il file
if ($trovato) echo “Accesso effettuato!!”;
else echo “dati non corretti!!”;
}
echo “
home“;
}
?>
[/php]

registrazione.php
visualizza il form per effettuare la registrazione.
una volta inseriti i dati li invia alla pagina controlla_registrazione.php per verificarli
[php]

Registrazione
E-mail :

Password :

Conferma password :

Nick :




[/php]

controlla_registrazione.php
riceve i dati , li confronta con quelli già presenti sul file e se non trova corrispondenze
con la email ricevuta li inserisce nel file dbutenti.csv
[php]
0,1,2,3
$trovato = true; //se trovo una corrispondenza con una mail già salvata sul file la registrazione non può essere effettuata
}
fclose($file); //chiudo il file
if ($trovato) //se la mail ricevuta è già presente
{
echo “impossibile effettuare la registrazione! la mail $email è già stata utilizzata in un altra registrazione!”;
}
else //altrimenti aggiungo i dati al file dbutenti.csv
{
if ($file = fopen(“dbutenti.csv” , “at”)) //apro il file in modalità append
{
fputs($file , “$id;$email;$password;$nick\n”);
fclose($file); //chiudo il file
}

echo “registrazione effettuata!”;
}
}
}
echo “
home“;
}
?>
[/php]

elenco.php
visualizza in una tabella tutti i dati presenti nel file dbutenti.csv
[php]

“; //visualizzo la riga corrispondente
}
fclose($file); //chiudo il file
}
?>

id email password nick
$dati[0] $dati[1] $dati[2] $dati[3]


[/php]

stile.css
foglio di stile utilizzato
[css]
/*imposto lo stile del div che contiene il titolo del sito*/
div#titolo
{
font-family : garamond , arial , verdania;
font-size : 40px;
color : red;
position : absolute;
top : 1%;
left : 39%;
width : 300px;
}
/*modifico lo stile del div che contiene il testo della pagina index*/
div#index
{
position : absolute;
width : 500px;
top : 20%;
left : 33%;
font-size : 20px;
color : brown;
}
/*modifico lo stile del div che contiene i link alle altre pagine*/
div.menu
{
font-family : arial;
font-size : 18px;
color : blue;
position : absolute;
top : 10%;
left : 39%;
width : 300px;
}
/*modifico lo stile dei link*/
a
{
text-decoration : none;
color : blue;
}
/*modifico lo stile dei link al passaggio del mause*/
a:hover
{
color : brown;
}
/*modifico lo stile del div che contiene il form per il login*/
div#login
{
position : absolute;
top : 20%;
left : 38%;
}
/*modifico lo stile del div che contiene il form per la registrazione*/
div#registrazione
{
position : absolute;
top : 20%;
left : 38%;
}
/*modifico lo stile del div che visualizza tutti i dati presenti nel file dbutenti.csv*/
div#elenco
{
position : absolute;
width : 300px;
top : 20%;
left : 43%;
}
[/css]

pagina di esempio : 1 record su file

Precedente Hello world! Successivo Tag principali HTML