salve gente mi potete aiutare a far funzionare questo script il problema e che in locale funziona ma quando lo metto su un server linux mi da dei dati sbagliati tipo il numero di utenti melo da non esatto poi inoltre la date e lora mi da solo degli 00000 e l ip non me lo da pero quando lo metto nei server windows mi da il giusto numero degli utenti mi da l ora pero l indirizzo ip mi da unlown perche mi potete aiutare a sistemare questo script inmodoo che funzioni su tutto?
Codice PHP:
/*
tabella 'useronline'
--------------------
campi: time (datetime)
ip (varchar 15 unique)
url (varchar 255)
*/
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "3333";
$timeoutseconds = 300;
if (getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} else if (getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
} else if (getenv('REMOTE_ADDR')) {
$ip = getenv('REMOTE_ADDR');
} else {
$ip = "Unknown";
}
//Mi connetto al database
$db = @mysql_connect($dbhost,$dbuser,$dbpass)
or die("&error=[b]Database error:[/b] Cannot establish connection.");
//Seleziono il database
@mysql_select_db($dbname,$db)
or die("&error=[b]Database error:[/b] Cannot select database.");
//Cancello i "vecchi" visitatori
@mysql_query("DELETE FROM useronline WHERE (time + INTERVAL 5 MINUTE) < NOW()")
or die("&error=[b]Database error:[/b] Cannot insert new data.");
//Inserisco nuovi visitatori
@mysql_query("REPLACE INTO useronline (time,ip,url) VALUES (NOW(),'$ip','".$_SERVER['PHP_SELF']."')")
or die("&error=[b]Database error:[/b] Cannot insert new data.");
$result = mysql_query("SELECT time,ip,url FROM useronline ORDER BY time DESC");
while ($row = mysql_fetch_assoc($result)) {
echo "&adress=".$row['ip']."&tempo=".$row['time'];
}
echo "&usersOnLine=".mysql_num_rows(mysql_query("SELECT ip FROM useronline"));