Autenticare gli utenti (II Parte)

Pagina 2 di 4

Si comincia col PHP

Ora che abbiamo la tabella nella quale memorizzare i dati, possiamo iniziare a scrivere un po’ di codice PHP. Stabiliamo, per essere ordinati, che creeremo tre piccoli script PHP, in tre diversi file.


Il primo conterrà semplicemente i dati di connessione al database, mentre il secondo invierà gli header, ed il terzo permetterà di iscriversi agli utenti che ancora non compaiono nella tabella. La struttra dei tre file è molto semplice; vediamo dapprima di scrivere il codice del file di configurazione da includere negli altri due, e che chiameremo conf.inc.php:

<?
$data = date ("d/m/Y H:i");


con l’istruzione date ricaveremo facilmente la data nel formato GG/MM/AAAA (giorno, mese, anno). Scriviamo ora i fondamentali dati per connettersi correttamente al server MySQL:

$server = "localhost";
$utente = "root";
$db_pass = "";
$datab = "gol61";
$tabella = "anagrafica";


oltre all’indirizzo dell’host e i dati dell’utente, abbiamo conservato in due variabili quelli con il nome del database da utilizzare e quello della tabella. Volendo personalizzare questi dati sarà sufficiente intervenire sulle due variabili. Com’è ormai nostra abitudine, creeremo una piccola funzione al’interno di questo file, chiamata errore_server(). Questa funzione servirà semplicemente ad informarci minuziosamente su eventuali errori in fase di connessione e di interrogazione.

function errore_server() 
{
echo "<b>Il database MySql sembra
       non rispondere...</b><br>MySql 
       dice:<br><font color=red>";
echo mysql_error();
echo "</font><br>pregasi 
<a href="mailto:iltuo@indirizzo.com">
segnalare</a> il problema"; 
}


A questo punto non dobbiamo fare altro che connetterci al server e selezionare, direttamente in questa fase, il database da utilizzare.

$connessione = @mysql_connect ($server, $utente, $db_pass)
                                 or die (errore_server ());
$db = mysql_select_db ($datab, $connessione) 
                                  or die (errore_server ());
?>


Salviamo il file conf.inc.php in una cartella del nostro webserver, e pensiamo a creare quello che sarà l’indice della cartella stessa.

Sei autorizzato? Controlliamo…

Il file index.php avrà l’importantissimo compito di inviare gli headers e, una volta che l’utente abbia inserito i dati richiesti, di verificare che questi siano presenti nel database.

Per fare una prova, e visualizzare tutti gli headers di una richiesta http, possiamo prendere in prestito un’esempio direttamente dal manuale PHP:

<?
$headers = getallheaders();
while (list ($header, $value) = each ($headers)) {
echo "$header: $value<br />
";
}
echo $REMOTE_ADDR;
?>


Questo piccolo ciclo while approfitta dell’istruzione getallheaders() per restituire i valori dell’array definito dall’istruzione stessa. Gli headers sono in realtà di molteplici tipi, e quello che ci interessa si chiama $PHP_AUTH_USER. Ricordiamo che gli headers vanno inviati al browser prima di qualsiasi altra cosa, anche di un solo semplice carattere, onde evitare spiacevoli errori. Ecco quindi le prime righe del nostro file index.php

<?
if (!isset($PHP_AUTH_USER)) {
header('WWW-Authenticate: Basic realm="Area privata"');
header('HTTP/1.0 401 Unauthorized');
echo 'Richiesta autorizzazione.';
exit; }

Continua >>>

Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Marcello
Ti è piaciuto l'articolo?