Tror nog du har glömt ett par kommetararer högst upp ;)
------------------
I have not failed. I´ve just found 10.000 ways that won´t work. // Thomas Edison
6 svar · 239 visningar · startad av Gimbo
Hejsan jag använder detta script för att hålla reda på aktiva besökare på min webplats, criptet går ut på att skriva ip numret som besökaren har till en textfil och där den ska vara i 30minuter dvs 1200sekunder, men problmet är att det hela tiden finns en aktiv besökare på sidan eftersom scriptet inte skriver besökarens riktiga ipnummer utan alla som besöker sidan får tilldelat detta ip nummer 127.0.0.1
nedan följer scriptet:
<?//// Räkna antalet "aktiva" besökare på en sajt "just nu".
//// "activetime" anger hur länge (i sekunder) en besökare är "aktiv".
$activetime=1200;
// Läs in IP och tid för tidigare besökare från filen "active.txt".
$fp = fopen("active.txt", 'r');
$noactive=0;while(!feof($fp)){
$activeip[$noactive]=fgets($fp,255);
$timeticks[$noactive]=fgets($fp,255);
$activeip[$noactive]=str_replace("\n","",$activeip[$noactive]);
$timeticks[$noactive]=str_replace("\n","",$timeticks[$noactive]);
if(strlen($activeip[$noactive])>3 && strlen($timeticks[$noactive])>3)
$noactive++;}fclose($fp);
// Skriv tillbaka IP-adress och tider för besökare som laddat sidan
// inom $activetime sekunder.
$fp = fopen("active.txt", 'w');
$newactive=1;for($i=0;$i<$noactive;$i++){
if($timeticks[$i]>time()-$activetime && strlen(strstr($activeip[$i],$REMOTE_ADDR))==0){
fputs($fp,"$activeip[$i]\n$timeticks[$i]\n"); $newactive++; }}
fputs($fp,"$REMOTE_ADDR\n".time()."\n");
fclose($fp);?>
<center><font face="verdana" size="1"> <? echo "Sidan har <b>".$newactive."</b> besökare just nu!"; ?>
Tror nog du har glömt ett par kommetararer högst upp ;)
------------------
I have not failed. I´ve just found 10.000 ways that won´t work. // Thomas Edison
nope, jag fick scriptet färdig av ngn o detta va allt jag fick, men har fortfarande inte fått svar på frågan, är tacksam för svar
Oops, raderna längst upp som du glömt är dessa:
//
// Räkna antalet "aktiva" besökare på en sajt "just nu".
// (c) 2000 Clas Rydergren, www.nic-sys.se, www.allanyheter.com
//
(se, http://cgi.webforum.nu/wf/Forum12/HTML/000296.html det finns vissa regler för användandet av detta script ;) )
För att få REMOTE_ADDR att fungera på tex f2s.com använder du
$ENV{'HTTP_X_FORWARDED_FOR'}
istället.
/nicclas - www.nyhetsrubriker.com
[Redigerat av nicclas den 13 aug 2001]
Jag ska lägga tillbax de där raderna, jag använder f2s och kan du vara snäll och skriva ut hela koden här som jag ska använda, jag vet inte istället för vad jag ska använda den där koden du gav mig, jag la den istället för remote_addr men dår får jag detta i min textfil på servern :
ENV{'HTTP_X_FORWARDED_FOR'}
Prova att byta:
$REMOTE_ADDR
mot
$HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']
Funkar inte det prova att byta mot:
getenv(HTTP_X_FORWARDED_FOR) (då blir andra stället, fputs($fp,getenv(HTTP_X_FORWARDED_FOR)."\n".time()."\n"); naturligtvis.)
Annars kan du ju kolla på f2s' support-forum...
/nicclas - www.nyhetsrubriker.com
[Redigerat av nicclas den 13 aug 2001]
tack ska du ha, andra alternativet fungerade fin fint...
THANX!!!!!!!
jag har även lagt till de där raderna som du sa...