Ilość użytkowników online na stronie (Licznik osób on-line) - PHP i MySQL
Skrypt pobiera od użytkownika adres IP biorąc pod uwagę 6 parametrów, po czym dodaje go do bazy na tej podstawie wyliczane są osoby obecnie przebywające na stronie, po upływie 5 min uzytkownik jest usuwany z bazy.
SQL dla tego skryptu:
CREATE TABLE `useronline` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`ip` varchar(15) NOT NULL DEFAULT '',
`timestamp` varchar(15) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
UNIQUE KEY `id`(`id`)
) TYPE=MyISAM COMMENT='' AUTO_INCREMENT=1 ;
Listing
<?php
require('functions/baza.php');
function lacz_bd()
{
$db = new mysqli('localhost', 'uzytkownik', 'haslo', 'nazwa_bazy');
if (! $db)
return false;
$db->autocommit(TRUE);
return $db;
}
$db = lacz_bd();
function userOnline(){
$timestamp = time();
$timeout = 500;
$count = 0;
$error;
$i = 0;
global $db;
if (getenv('HTTP_CLIENT_IP')) {
$ip = getenv('HTTP_CLIENT_IP');
}
elseif (getenv('HTTP_X_FORWARDED_FOR')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_X_FORWARDED')) {
$ip = getenv('HTTP_X_FORWARDED');
}
elseif (getenv('HTTP_FORWARDED_FOR')) {
$ip = getenv('HTTP_FORWARDED_FOR');
}
elseif (getenv('HTTP_FORWARDED')) {
$ip = getenv('HTTP_FORWARDED');
}
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
$insert = $db->query("INSERT INTO useronline(timestamp, ip) VALUES ('$timestamp', '$ip')");
$delete = $db->query("DELETE FROM useronline WHERE timestamp < ($timestamp - $timeout)");
$wynik = $db->query("SELECT DISTINCT ip FROM useronline");
$count = $wynik->num_rows;
return $count;
}
echo "Użytkowników online: ".userOnline();
?>
Dodano przez: igor
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno