Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

PHP/OOP: Creare un sistema di registrazione e autenticazione per gli utenti

Articolo scritto da Claudio Garau
Pagina 1 di 5

Dalle mail che ricevo e dalle discussioni sui forum che seguo, noto ancora una certa difficoltà di alcuni sviluppatori PHP nel passaggio dal paradigma procedurale a quello della programmazione orientata agli oggetti; in realtà credo che alla base di tutto ci sia soltanto una questione di abitudini consolidate, la OOP non è difficile quanto sembra e la maggior parte di coloro che vorrebbero utilizzarla possiedono già, spesso senza saperlo, gli strumenti tecnici per trasformarla in un mezzo per realizzare le proprie applicazioni.

Per dimostrare quanto appena sostenuto, presenterò in questa guida la procedura necessaria per la creazione di un sistema di registrazione e autenticazione basato sulla programmazione ad oggetti, sarà un'occasione per mostrare in modo molto semplice come classi, metodi, proprietà e, appunto, oggetti non siano necessariamente destinati all'utilizzo in applicazioni complesse.
Il nostro script utilizzerà il DBMS MySQL per la memorizzazione delle informazioni, quindi come prima operazione dovremo crearci un database e dargli un nome, ad esempio "registrazione", all'interno di esso sarà presente una tabella della quale, per comodità del lettore, riporto il dump SQL pronto per l'importazione:

CREATE TABLE IF NOT EXISTS `iscritti` (
  `id_utente` int(4) NOT NULL AUTO_INCREMENT,
  `nome_utente` varchar(20) DEFAULT NULL,
  `password` varchar(40) DEFAULT NULL,
  `nome_reale` varchar(50) DEFAULT NULL,
  `email` varchar(80) DEFAULT NULL,
  PRIMARY KEY (`id_utente`),
  UNIQUE KEY `username` (`nome_utente`),
  UNIQUE KEY `email` (`email`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

La tabella "iscritti" sarà quindi composta da 5 campi:

Ma come sarà strutturata la nostra applicazione? Avremo innanzitutto un file di configurazione, lo chiameremo per esempio "config.php", che ci permetterà di interagire con il DBMS connettendoci ad esso e selezionando il database precedentemente creato; vediamo come:

<?php
# definizione delle costanti per l'autenticazione al DBMS
define('DATA_HOST', 'localhost');
define('DATA_UTENTE', 'root');
define('DATA_PASS', '');
define('DATA_DB', 'registrazione');
# classe per l'interazione con il database
class DATA_Class {
  # definizione del costruttore
  function __construct() {
    # connessione al DBMS
    $connessione = @mysql_connect(DATA_HOST, DATA_UTENTE, DATA_PASS) or die('Errore nella connessione: ' . mysql_error());
    # selezione del database
    @mysql_select_db(DATA_DB, $connessione) or die('Errore dal database: ' . mysql_error());
  }
}
?>

Niente di particolarmente complesso, il file "config.php" si occuperà in pratica di:

Come è possibile notare, la classe verrà introdotta per semplice dichiarazione, per definirla basterà infatti attribuirle un nome:

class DATA_Class {..

All'interno della classe, delimitato da parentesi graffe, vi dovrà essere un metodo particolare, detto "costruttore", definito in questo modo:

function __construct() {..

Il costruttore è in pratica un metodo associato ad una classe che ha il compito di porre in essere l'istanza della classe stessa e di inizializzarla per la creazione di un oggetto; una chiamata al costruttore viene effettuata in modo automatico nel momento in cui viene generato un nuovo oggetto di una classe.
Un concetto troppo complicato? Solo apparentemente, nel codice proposto infatti il costruttore delimita il codice necessario per connettersi a MySQL e selezionare il database, ciò vuol dire che ad ogni istanza della classe corrisponderà una chiamata automatica del costruttore che si occuperà di svolgere questi compiti.
Ora che il quadro si va semplificando è possibile passare alla fase successiva, cioè alla creazione del file contenente gli altri metodi che verranno utilizzati nella nostra applicazione.

Corsi
Corso LinuxCorso Linux
Guida completa al sistema open-source. A partire da 39 €.
Corso MySQLCorso MySQL
Gestione del database open-source. A partire da 49 €.
Corso PHPCorso PHP
Corso completo per la creazione di siti Web dinamici. A partire da 49 €.
Vedi anche...
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122