Ik heb een scriptje gemaakt waarmee je het aantal online gebruikers kan lezen. Ook is er een functie bijingebouwd voor het weergeven van het aantal online leden.
Zouden jullie even willen kijken of deze snippet in de scriptdatabase kan? (eventuele fouten of tips melden)
MVG Max van den Bosch
---------------Online_users.php-------------------------
<?php
session_start();
if (isset($_GET['destroy'])){
session_destroy ();
}
$ip=$_SERVER['REMOTE_ADDR'];
$time=time();
$timeout=120+$time; //is in seconden
$dbhost = ""; // MySQL host
$dbuser = ""; // MySQL gebruikersnaam
$dbpass = ""; // MySQL wachtwoord
$dbname = ""; // database naam
$sql="INSERT INTO onlineusers (ip, timeout";
if (isset($_SESSION['username'])){
$sql .=", username";
}
$sql.=") VALUES ('".$_SERVER['REMOTE_ADDR']."', $timeout";
if (isset($_SESSION['username'])){
$sql .=", '".$_SESSION['username']."'";
}
$sql .=")";
// Connect to MySQL Database
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname) or die("Geen database geselecteerd");
if (!mysql_query($sql)){
echo "Er mislukte iets...</br>Technische informatie: ".mysql_error()."</br>";
}
$sql="DELETE FROM onlineusers WHERE timeout < ".$time;
if (!mysql_query($sql)){
echo "Er mislukte iets...</br>Techinische informatie: ".mysql_error();
}
$uitslag=mysql_query("SELECT DISTINCT ip FROM `onlineusers` WHERE `username` IS NULL") or echo "Ophalen van gegevens is mislukt (1)";
$aantal_ongeregistreert=mysql_num_rows($uitslag);
$uitslag2=mysql_query("SELECT DISTINCT ip FROM `onlineusers` WHERE `username` IS NOT NULL") or echo "Ophalen van gegevens is mislukt (2)";;
$aantal_geregistreert=mysql_num_rows($uitslag2);
echo "Online bezoekers: ".$aantal_ongeregistreert;
echo "</br>";
echo "Online leden: ".$aantal_geregistreert;
//BEKIJK timeout en time
//echo "</br>";
//echo "Timeout: ".$timeout;
//echo "</br>";
//echo "Time---: ".$time;
//echo "</br>";
//echo "time(); = ".time();
if ($time == $timeout){
echo "Error! Time en timeout zijn gelijk";
}
//Bugger, zodat eventuele fouten kunnen worden weergeven
mysql_close();
?>