Bezoekers online script v2.0
Auteur: cowbeast - 04 oktober 2004 - 22:07 - Gekeurd door: Dennisvb - Hits: 28232 - Aantal punten: 3.00 (9 stemmen)
Dit is een script waarmee je het aan tal bezoekers toont -->
Totaal:
1 bezoeker online
1 lid online:
gebruikersnaam
Zo gaat! en dan toont hij op een andere pagina ook nog waar de persoon zich bevind!
Greetz Mathieu! (voorbeeld is tezien op www.cowbeast.be als de nieuwe lay af is!)
|
Code: |
config.inc.php
-------------------------
<?php
$gebruikersid=$_SESSION['gebruikersid']; //id van de gebruiker ()
$online_verval = time()-300; // in secondes
if (end(explode("/",$PHP_SELF)) == "online.inc.php") {
header("Location: ./index.php");
exit();
}
$ip = getenv("REMOTE_ADDR");
$page_naam = $_SERVER['REQUEST_URI'];
if($ip == "") { $ip = getenv("HTTP_X_FORWARDED_FOR"); }
if(!isset($page_naam)) { $page_naam = ""; }
$time = time();
//leden die niet actief zijn verwijderen
mysql_query("DELETE FROM online WHERE datum < '$online_verval'");
if($_SESSION['login'] == true) { //checken of ze ingelogt zijn
$sql = mysql_query("SELECT * FROM online WHERE userid='$gebruikersid'");
$sql2 = "userid='$gebruikersid', ip='$ip'";
$sql3 = "userid='$gebruikersid'";
} else {
$sql = mysql_query("SELECT * FROM online WHERE ip='$ip' AND userid='0'");
$sql2 = "ip='$ip'";
$sql3 = "ip='$ip'";
}
if(mysql_num_rows($sql) == 0) {
$referer = $HTTP_REFERER;
mysql_query("INSERT INTO online SET $sql2, datum='$time', datum_start='$time', pagina='$page_naam', referer='$referer'"); //gegevens van de bezoeker opslaan
} elseif(mysql_num_rows($sql) != 0) {
mysql_query("UPDATE online SET datum='$time', pagina='$page_naam' WHERE $sql3"); //gegevens van de bezoeker updaten
}
?>
<?php $gebruikersid=$_SESSION['gebruikersid']; //id van de gebruiker () $online_verval = time()-300; // in secondes if (end(explode("/",$PHP_SELF)) == "online.inc.php") { header("Location: ./index.php"); } $page_naam = $_SERVER['REQUEST_URI']; if($ip == "") { $ip = getenv("HTTP_X_FORWARDED_FOR"); } if(!isset($page_naam)) { $page_naam = ""; } //leden die niet actief zijn verwijderen mysql_query("DELETE FROM online WHERE datum < '$online_verval'"); if($_SESSION['login'] == true) { //checken of ze ingelogt zijn $sql = mysql_query("SELECT * FROM online WHERE userid='$gebruikersid'"); $sql2 = "userid='$gebruikersid', ip='$ip'"; $sql3 = "userid='$gebruikersid'"; } else { $sql = mysql_query("SELECT * FROM online WHERE ip='$ip' AND userid='0'"); $sql2 = "ip='$ip'"; $sql3 = "ip='$ip'"; } $referer = $HTTP_REFERER; mysql_query("INSERT INTO online SET $sql2, datum='$time', datum_start='$time', pagina='$page_naam', referer='$referer'"); //gegevens van de bezoeker opslaan mysql_query("UPDATE online SET datum='$time', pagina='$page_naam' WHERE $sql3"); //gegevens van de bezoeker updaten } ?>
online.php
------------------------
<?php
$sql = mysql_query("SELECT count(*) AS aantal FROM online WHERE userid = '0'"); //bezoekers uit de db halen
$online_gasten = mysql_result($sql, 0);
$sql = mysql_query("SELECT count(*) AS aantal FROM online WHERE userid != '0'"); //leden uit de db halen
$online_leden = mysql_result($sql, 0);
$online_totaal = $online_gasten + $online_leden; //totaal berekenen
//weergave
echo "<font size=\"-1\">Totaal: <b>$online_totaal</b> [<a href=\"index.php?pagina=bezoekers\" class=\"menujep
\">meer</a>]<br></font>";
echo "<font size=\"-1\"><b>$online_gasten</b> bezoekers<br></font>";
echo "<font size=\"-1\"><b>$online_leden</b> leden: </font>";
$lids = mysql_query("SELECT * FROM online WHERE userid != '0'");
while($list = mysql_fetch_array($lids)) {
$userid = $list[userid];
$geg = mysql_query("SELECT gebruikersnaam, level FROM members WHERE id = '".$userid."'") or die (mysql_error());
$show = mysql_fetch_array($geg, MYSQL_ASSOC);
$gebrnaam = $show['gebruikersnaam'];
$level = $show['level'];
if($level == 2 || $level == 3) {
echo "<font size=\"-1\"><a class=\"admin\" href=\"index.php?pagina=login/members&id=".$userid."\">".$gebrnaam."</a>, </font>";
} else {
echo "<font size=\"-1\"><a class=\"lid\" href=\"index.php?pagina=login/members&id=".$userid."\">".$gebrnaam."</a>, </font>";
}
}
?>
<?php $sql = mysql_query("SELECT count(*) AS aantal FROM online WHERE userid = '0'"); //bezoekers uit de db halen $sql = mysql_query("SELECT count(*) AS aantal FROM online WHERE userid != '0'"); //leden uit de db halen $online_totaal = $online_gasten + $online_leden; //totaal berekenen //weergave echo "<font size=\"-1\">Totaal: <b>$online_totaal</b> [<a href=\"index.php?pagina=bezoekers\" class=\"menujep \">meer</a>]<br></font>"; echo "<font size=\"-1\"><b>$online_gasten</b> bezoekers<br></font>"; echo "<font size=\"-1\"><b>$online_leden</b> leden: </font>"; $lids = mysql_query("SELECT * FROM online WHERE userid != '0'"); $userid = $list[userid]; $gebrnaam = $show['gebruikersnaam']; $level = $show['level']; if($level == 2 || $level == 3) { echo "<font size=\"-1\"><a class=\"admin\" href=\"index.php?pagina=login/members&id=".$userid."\">".$gebrnaam."</a>, </font>"; } else { echo "<font size=\"-1\"><a class=\"lid\" href=\"index.php?pagina=login/members&id=".$userid."\">".$gebrnaam."</a>, </font>"; } } ?>
bezoekers.php
---------------------
<table width="95%" style="border: 1px solid #CCCCCC" cellspacing="0" cellpadding="0">
<tr bgcolor="#CCCCCC">
<td width="3%"> </td>
<td width="39%">Gebruiker:</td>
<td width="58%">Pagina:</td>
</tr>
<?
$sql = mysql_query("SELECT * FROM online ORDER BY datum_start DESC"); //gegevens van alle personen die online zijn
while($list = mysql_fetch_array($sql)) {
$userid = $list[userid];
$pagina = $list[pagina];
if($userid == 0) {
?>
<tr>
<td align="center"><img src="opmaak/naam.gif" width="16" height="15"></td>
<td> Gast</td>
<td><? echo "<a href=\"$pagina\">$pagina</a>"; ?></td>
</tr>
<?
} else {
$geg = mysql_query("SELECT gebruikersnaam, level FROM members WHERE id = '".$userid."'") or die (mysql_error());
$show = mysql_fetch_array($geg, MYSQL_ASSOC);
$gebrnaam = $show['gebruikersnaam'];
$level = $show['level'];
?>
<tr>
<td align="center"><img src="opmaak/leden.gif" width="16" height="13"></td>
<td><? echo $gebrnaam; ?></td>
<td><? echo "<a href=\"$pagina\">$pagina</a>"; ?></td>
</tr>
<?
}
}
?>
</table>
<table width="95%" style="border: 1px solid #CCCCCC" cellspacing="0" cellpadding="0"> <tr bgcolor="#CCCCCC"> <td width="3%"> </td> <td width="39%">Gebruiker:</td> <td width="58%">Pagina:</td> </tr> <? $sql = mysql_query("SELECT * FROM online ORDER BY datum_start DESC"); //gegevens van alle personen die online zijn $userid = $list[userid]; $pagina = $list[pagina]; if($userid == 0) { ?> <tr> <td align="center"><img src="opmaak/naam.gif" width="16" height="15"></td> <td> Gast</td> <td> <? echo "<a href=\"$pagina\">$pagina</a>"; ?></td> </tr> <? } else { $gebrnaam = $show['gebruikersnaam']; $level = $show['level']; ?> <tr> <td align="center"><img src="opmaak/leden.gif" width="16" height="13"></td> <td> <? echo $gebrnaam; ?></td> <td> <? echo "<a href=\"$pagina\">$pagina</a>"; ?></td> </tr> <? } } ?> </table>
Verdere info
-----------------------------
Het stukje waarmee je alles in de db schrijft en de bezoekers en leden weergeeft!
<?
include('config.inc.php');
include('online.php');
?>
<? include('config.inc.php'); include('online.php'); ?>
MySQL
-----------------------------
CREATE TABLE `online` (
`id` int(11) NOT NULL auto_increment,
`userid` int(11) NOT NULL default '0',
`ip` varchar(255) NOT NULL default '0',
`datum` varchar(255) NOT NULL default '0',
`datum_start` varchar(255) NOT NULL default '0',
`pagina` varchar(255) NOT NULL default 'geen',
`referer` varchar(255) NOT NULL default 'geen',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ; Download code (.txt)
|
|
|
Stemmen |
Niet ingelogd. |
|