Taget direkt ur tips & tricks:Sv: besökare just nu?
Visa antalet aktiva besökare i PHP
Att se hur många som är inne på ens hemsida just nu, kan vara ganska intressant. Det första vi gör är att skapa databastabellen, jag utgår ifrån att du redan har en MySQL-databas installerad. Skriv in följande kod i MySQL-konsolen (phpMyAdmin går även fint):
CREATE TABLE tblonline (
clock int(15) NOT NULL default '0',
ip varchar(40) NOT NULL default '',
PRIMARY KEY (clock),
KEY ip (ip)
) TYPE=MyISAM;
Tabellen vi nu skapat heter tblonline, och innehåller två fält, clock och ip. ”clock” för att hålla reda på när användaren senast var online, och ”ip” för att kunna få ut unika besökare, så inte samma användare listas två gånger.
Här nedan finns koden som du lägger in i en PHP-fil (jag beskriver koden genom att lägga till kommentarer i den):
Form
<?php
function viewonline() {
global $REMOTE_ADDR;
$mysql_server = “localhost”; //MySQL servern
$mysql_username = “användarnamn”; //MySQL användernamnet
$mysql_password = “lösenord”; //MySQL lösenordet
$mysql_db = “databas”; //MySQL databasen
//Öppna kontakt med mysql
mysql_connect($mysql_server, $mysql_username, $mysql_password) or die("Could not connect!");
//Sätt variabler
$clock = time();
$clock_check = time()-120;
//Öppna databas
mysql_select_db($mysql_db);
//Lägg in ny besökare
$query = mysql_query("INSERT INTO tblonline (clock,ip) VALUES ('$clock','$REMOTE_ADDR')");
//Ta bort gamla besökare
$query = mysql_query("DELETE FROM tblonline WHERE clock<$clock_check");
//Hämta ut unika besökare
$query = mysql_query("SELECT DISTINCT ip FROM tblonline");
//Räkna antalet unika besökare
$total = mysql_num_rows($query);
//Stäng kontakt med mysql
mysql_close();
if($total == "1")
{
$active_text = "<b>". $total ."</b> aktiv besökare just nu";
} else {
$active_text = "<b>". $total ."</b> aktiva besökare just nu";
}
echo $active_text;
}
?>
Hoppas du löser det med detta. Funkar fint hos mig fast jag har gjort vissa förrändringar på det..
//Johan