La prima cosa da fare è creare una pagina php da inserire nella cartella inc, questa prenderà il nome di refreshstanza.php.
Dal nome potete già cpaire cosa farà, lo script cheverrà contenuto in essa infatti aggiornerà la stanza in cui è l'utente.
Vediamo il codice:
Codice: |
<? #I non loggatti escano! :P if (!$_SESSION['first_name']){ exit("Non autorizzato"); } #Passiamo la variabile luogo inviata per il link, se non esiste allora l'utente è nella mappa luogo = $_GET['luogo']; if (luogo == ""){ $luogo = "Mappa centrale"; } #La sessione first_name contiene il nome del pg, passiamolo nella variabile $pg $pg = $_SESSION['first_name']; #Se negli online non c'è il nome del pg, allora aggiungiamolo! $Sql = "SELECT * FROM online WHERE Nome = '".$pg."'"; $Result = mysql_query($Sql); if (mysql_num_rows($Result) == 0) { $Sqlonline = "INSERT INTO online (Nome, Stanza) VALUES ('".$pg."', '".$luogo."')"; mysql_query($Sqlonline); } #Altrimenti updatiamolo! else { $Sqlpg = "UPDATE online SET Stanza = $luogo WHERE Nome = '".$pg."'"; mysql_query($Sqlpg); $Sqlrefresh = "UPDATE pg SET Refresh = NOW() WHERE Nome = '".$pg."'"; mysql_query($Sqlrefresh); } #qui andrà il controllo sull'utente --> Se è caduto verrà cancellato include("inc/controllautente.php"); ?> |
Creato il file che dovremo includere in OGNI luogo del nostro gdr.. ora passiamo alla pagina: online.php
Questa pagina conterrà un elenco degli online:
Codice: |
<? include("inc/db.php"); #Compilo la query SELECT che selezionerà tutti i campi contenuti nella tabella MySql = mysql_query ("SELECT * FROM online") or die ( "Non riesco ad eseguire la richiesta"); #Se la query non riesce si visualizzerà un messaggio di errore #I risultati della query li avrò nell'array $risultato, grazie alla funzione mysql_fetch_array e grazie al while #ripeterò la query fino all'esaurimento di "risposte" nel database while ( $risultato = mysql_fetch_array($MySql)) { echo "<a href=\"$risultato['Nome']\">$risultato['Nome']</a> è in: $risultato['Stanza'] <br>"; } ?> |
infine, ecco la struttura della tabella online:
Codice: |
#
# Struttura della tabella `online` # CREATE TABLE `online` ( `Nome` varchar(250) NOT NULL default '', `Stanza` varchar(250) NOT NULL default '' ) TYPE=MyISAM; # # Dump dei dati per la tabella `online` # |