Creare un blocco utenti on-line basato su AJAX!
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:
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:
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:
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
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

Oggi: 0
Ieri: 1
Totali: 5604
Ospiti : 16
Membri : 0
Totali: 16










non ci riesco in pratica deve essere una foto di myalbum ma mi da' sempre errore









