Tutorial Avanzati
Home
News
Forum
Moduli
Contatto
Faq
Login
Nome utente:
Password:
Hai perso la password?
Registrati ora!
Ricerca
Ricerca avanzata
Community
Download
Moduli
Temi
Core
Forum
Xoops 2.0.x
Xoops 2.2.x
Traduzioni
Tutorials
Base
Avanzati
Sviluppo
Risorse
Progetto Lister
Archivio Link
Recensioni Moduli
Collaborare
Invia News
Proponi Tutorial
Invio Traduzioni
Segnala Link
Invia DESC Modulo
Supporto
FAQ
Contattaci
STAFF
Access Key
ALT+1
Home
ALT+2
News
ALT+3
Forum
ALT+4
Downloads
ALT+5
Contattaci
ALT+6
Faq
[Maiusc+Alt] con FFox 2
[Alt+Invio] con IExplorer
Statistiche
Utenti registrati:
Oggi: 0
Ieri: 1
Totali: 5666
Ultimo:
ddt85
Utenti online:
Ospiti : 5
Membri : 0
Totali: 5
Lista utenti [
Popup
]
Invia via email
Indirizzo Email
Oggetto
Contenuto
Chi è on-line? (Versione AJAX) by Stefano Silvestrini Come promesso, eccomi a scrivere un bel tutorial del blocco Utenti on line AJAX che trovate in home di Xoops Italia. I vantaggi dell'AJAX sono molteplici e nel nostro caso particolare ci aiuta a ricaricare un blocchetto (contenente una query) senza dover ricaricare l'intera pagina. PASSO 1: Copiate ed incollate questo codice dentro una pagina vuota: <?php include 'mainfile.php'; // Hack by Stefano Silvestrini - www.stefanosilvestrini.com // 12 gennaio 2008 // Per cortesia non levare i crediti $sql = "SELECT * FROM ".$xoopsDB->prefix('online')." ORDER BY online_updated DESC"; $result = $xoopsDB->query($sql); if(!$result) { echo "Errore: ".mysql_error(); exit; } echo" <div style='font-size: 11px;'> "; $count = 0; while($myrow = $xoopsDB->fetchArray($result)) { if ($myrow['online_uid'] == '0') { $username = 'Anonimo'; } else { $username = "<a href='http://www.tuosito.com/userinfo.php?uid=".$myrow['online_uid']."'><b>".$myrow['online_uname']."</b></a>"; } if ($count !=0) {$start=', ';} echo"".$start."".$username.""; $count++; } // chiudo il while echo" (Totale: ".$count.")</div>"; ?> salvate il file come users-on-line.php e chiudete. Prendete il file users-on-line.php appena creato e mettetelo nella root del vostro sito Xoops. PASSO 2: Andiamo in amministrazione e creiamo un blocco personalizzato HTML ed inseriamo questo codice: <script type="text/javascript"> function Ajax(){ var xmlHttp; try{ xmlHttp=new XMLHttpRequest();// Firefox, Opera 8.0+, Safari } catch (e){ try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer } catch (e){ try{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ alert("No AJAX!?"); return false; } } } xmlHttp.onreadystatechange=function(){ if(xmlHttp.readyState==4){ document.getElementById('ReloadThis').innerHTML=xmlHttp.responseText; setTimeout('Ajax()',5000); } } xmlHttp.open("GET","http://www.vostrosito.com/users-on-line.php",true); xmlHttp.send(null); } window.onload=function(){ setTimeout('Ajax()',1000); } </script> <div id="ReloadThis"> <div align="center" style="padding-top: 3px;"><img src="http://www.vostrosito.com/images/loading.gif"></div> </div> andando a modificare www.vostrosito.com con l'url del sito Xoops ed andando ad inserire nella cartella "images" una gif di loading a vostra scelta (cercate su google images). PASSO 3: Questo passo non è obbligatorio ma è importante qualora volessimo rendere lo script funzionante sempre al 100%. Entrate via ftp e modificate il vostro file .htaccess (o createlo se non esiste ancora nella root del vostro sito). All'interno del file .htaccess inserite: RewriteEngine On Options +FollowSymlinks rewritecond %{http_host} ^vostrosito.com [nc] rewriterule ^(.*)$ http://www.vostrosito.com/$1 [r=301,nc] andando a modificare la stringa vostrosito.com a seconda del vostro url. Spero di aver fatto cosa gradita a tutti! HAPPY XOOPS A TUTTI! Stefano NB: questo hack potrebbe aumentare le query al vostro db. In due mesi di utilizzo qui su XI non abbiamo riscontrato alcun errore. Se doveste riscontrarne siete pregati di segnalarmelo. Grazie Altro... http://www.xoopsitalia.org/modules/article/view.article.php/c16/62
© 2002-2008 |
XOOPS ITALIA