14 Feb 2011 0 commenti
Gli avatar dei nostri utenti oltre ad identificarli rende sicuramente più gradevole l'aspetto dei nostri siti web. Tuttavia la loro implementazione pone non poche problematiche legate alla necessità di consentire l'upload dell'immagine e salvare il relativo path in un database. Ebbene Gravatar rende la vita più semplice sia agli utenti sia ai web master. Vediamo come.
UTILITA' PER L'UTENTE
Gravatar sta per Globally Recognized Avatar: cioè avatar riconosciuti globalmente.
Per coloro che dispongono già di un account wordpress.com possono accedere al sito gravatar.com semplicemente effettuando il login con gli stessi dati di autenticazione (è questo uno dei motivi della sua diffusione).
Una volta fatto l'accesso su Gravatar l'utente potrà scegliersi una immagine che lo seguirà in ogni sito in cui lascerà un commento nei quali Gravatar risulti abilitato. Quindi con una unica registrazione l'utente disporrà del suo gravatar senza necessità di settarlo in ogni sito.
IMPLEMENTAZIONE
La sua implementazione nei nostri siti web è semplicissima: per risalire al Gravatar dell'utente ci sarà sufficiente conoscere il suo indirizzo email. Inoltre, nel caso in cui l'utente non disponesse di un accaunt Gravatar si potrà comunque ricorrere ad una immagine di default.
<?php function image_gravatar($email) { // settiamo una immagine di default $image_default = "http://www.website.com/images/avatar_default.gif"; // grandezza del gravatar $size = 50; $gravatar_url = "http://www.gravatar.com/avatar/" . md5( strtolower( trim( $email ) ) ) . "?d=" . urlencode( $image_default ) . "&s=" . $size; return $gravatar_url; } $email_user = 'email@dominio.it'; $gravatar = image_gravatar($email_user); echo '<img src="' .$gravatar. '" />'; ?>
Ovviamente consiglio di collocare la funzione in un apposito file esterno (ad esempio gravatar.fun.php) e di includerlo nei vostri script all'occorrenza. Riporto un ulteriore semplice esempio di integrazione in uno script per i commenti:
<?php $connessione = mysql_connect('localhost', 'root', 'password') or die(mysql_error()); $select_db = mysql_select_db('database_name', $connessione) or die(mysql_error()); $query = "SELECT nome, email, commento FROM tabella_commenti"; $result = mysql_query($query, $connessione) or die(mysql_error()); // includiamo il file in cui è presente la funzione image_gravatar require_once('gravatar.fun.php'); while($row = mysql_fetch_array($result)) { // otteniamo l'URL del gravatar associato all'indirizzo mail $URL_gravatar = image_gravatar($row['email']); echo '<p>'.$row['nome'].'</p>'; echo '<img src="' .$URL_gravatar. '" />'; echo '<p>'.$row['commento'].'</p><br />'; } ?>
Per qualsiasi altra domanda lasciate un commento e vi risponderò il prima possibile.
Olimpio Romanella
Sono un appassionato di Web Developing con un particolare debole per php. Mi dedico principalmente dello sviluppo back-end ed in particolare programmazione lato server con php, sviluppo di database relazionali MySql e progettazione di CMS di piccole e medie dimensioni.
Mi avvalgo del framework javascript Jquery, utilizzando molti dei suoi plugin e nei dei miei progetti utilizzo spesso il framework MVC Codeigniter.