user online e adress ip

salve ragazzi  avrei bisognio di un vostro aiuto  io  non sono pratico di php  sto  piano piano studiando   il problema e questo io ho un sito che devo mettere quanti utenti sono online  e l indirizzo ip dell utente adesso  ho trovato uno script   soltanto che non mi funziona su server linux  premetto  che     il sito  e in flash   posto lo sript php

 cortesemente mi date una mano   inoltre mi complimento con chi gestisce questo sito molto buono e pieno di guide utili e pratiche

 a  in locale funziona  e sui server windows mi da l ip unkown 

/*
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"));
inviato 9 anni fa
roccochiolo
modificato 9 anni fa
X 0 X

Hai creato il database e le tabelle sul server? Che errore ricevi?

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

ciao ti spiego cosa mi fa nei server linux e windows    nei server linux mi da     l ora 0000:00:00 cie solo degli zeri   mentre   l ip non me lo da    di fatto  e mi da  due utenti online cosa che non e possibile   invece nei server windows  mi da    l ora corretta  il num di visitatori corretti  pero l ip mi da unkown 

risposto 9 anni fa
roccochiolo
X 0 X

Prova a cambiare il blocco

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";
}

così:

if ($_SERVER['REMOTE_ADDR']) {
   $ip = $_SERVER['REMOTE_ADDR'];
} else if ($_SERVER['HTTP_X_FORWARDED_FOR']) {
   $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
   $ip = "Unknown";
}
risposto 9 anni fa
Gianni Tomasicchio
X 0 X

ok provo e ti faccio sapere  un altra cosa per  aggiungere  quante volte e stato    visualizzato il sito  e da quale nazione si puo?

risposto 9 anni fa
roccochiolo
X 0 X

uguale non va

risposto 9 anni fa
roccochiolo
X 0 X

prova a creare un  file a parte (giusto per fare un test) in cui c'è scritto

<?php
//vediamo se mostra l'ip
echo $_SERVER['REMOTE_ADDR'];

 :bye:

risposto 9 anni fa
patrick91
X 0 X

si cosi lo mostra  l ip

risposto 9 anni fa
roccochiolo
X 0 X

Su Windows usi sempre Apache come webserver?

risposto 9 anni fa
Marco Grazia
X 0 X

CIAO SI USO APACHE SCUSA SE TI  RISPONDO SOLO ADESSO

risposto 9 anni fa
roccochiolo
modificato 9 anni fa
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda