Avatar billede jullehansen Nybegynder
03. september 2004 - 10:56 Der er 10 kommentarer og
1 løsning

Fejlmelding ved brug af php i tællerscript

Hej,

Jeg kender stort set ikke noget til php, men har alligevel givet mig i kast med at sætte et tæller script op på min hjemmeside.
Som I nok kan regne ud er jeg røget ind i problemer.
Jeg får følgende fejlmelding:

Notice: Use of undefined constant month - assumed 'month' in D:\Websider\resadmin\hgc.dk\hgc.dk\www\test\index.php on line 40

Notice: Use of undefined constant mday - assumed 'mday' in D:\Websider\resadmin\hgc.dk\hgc.dk\www\test\index.php on line 41

Notice: Use of undefined constant year - assumed 'year' in D:\Websider\resadmin\hgc.dk\hgc.dk\www\test\index.php on line 42

Notice: Undefined variable: REMOTE_ADDR in D:\Websider\resadmin\hgc.dk\hgc.dk\www\test\index.php on line 47

På dette script:

    <?php
// Our log file;
$counter = "counter.txt";

// Date logging;
$today = getdate();
$month = $today[month];
$mday = $today[mday];
$year = $today[year];
$current_date = $mday . $month . $year;

// Log visit;
$fp = fopen($counter, "a");
$line = $REMOTE_ADDR . "|" . $mday . $month . $year . "\n";
$size = strlen($line);
fputs($fp, $line, $size);
fclose($fp);

// Read log file into array;
$contents = file($counter);

// Total hits;
$total_hits = sizeof($contents);

// Total hosts;
$total_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
    $entry = explode("|", $contents[$i]);
    array_push($total_hosts, $entry[0]);
}
$total_hosts_size = sizeof(array_unique($total_hosts));

// Daily hits;
$daily_hits = array();
for ($i=0;$i<sizeof($contents);$i++) {
    $entry = explode("|", $contents[$i]);
    if ($current_date == chop($entry[1])) {
        array_push($daily_hits, $entry[0]);
    }
}
$daily_hits_size = sizeof($daily_hits);

// Daily hosts;
$daily_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
    $entry = explode("|", $contents[$i]);
    if ($current_date == chop($entry[1])) {
        array_push($daily_hosts, $entry[0]);
    }
}
$daily_hosts_size = sizeof(array_unique($daily_hosts));

// Let's display everything;
echo "Total hits: " . $total_hits . "<br>Total hosts: " . $total_hosts_size . "<br>Daily hits: " . $daily_hits_size . "<br>Daily hosts: " . $daily_hosts_size;
?>
Avatar billede mcgoat Nybegynder
03. september 2004 - 11:00 #1
$month = $today["month"];
$mday = $today["mday"];
$year = $today["year"];

skal det ikke være med " " ?
Avatar billede iss Novice
03. september 2004 - 11:07 #2
Eller ', bruger selv ', da det kræver et tastetryk mindre.
Avatar billede jullehansen Nybegynder
03. september 2004 - 11:08 #3
Jo, det virker.
Tilbage er kun remote_addr fejlen.
Har du en ide til den?
Avatar billede iss Novice
03. september 2004 - 11:08 #4
Og $REMOTE_ADDR hedder $_SERVER['REMOTE_ADDR'] nu.
Avatar billede jullehansen Nybegynder
03. september 2004 - 11:19 #5
Tusind tak hjælpen.
For øvrigt, hvad er egentlig forskellen på hits og hosts?

Lægger I begge to et svar, så kan I dele ;-)
Avatar billede mcgoat Nybegynder
03. september 2004 - 11:21 #6
ok :)

det er vel at 1 host altsdå 1 bruger godt kan besøge siden mere end 1 gang.. så 1 bruger laver flere hits??
Avatar billede iss Novice
03. september 2004 - 11:24 #7
Hits tæller hver gang siden bliver indlæst, ligemeget host og host tæller kun ny host.
Avatar billede jullehansen Nybegynder
03. september 2004 - 11:30 #8
Hov, hvordan vælger man begge svar så I deler?
Avatar billede mcgoat Nybegynder
03. september 2004 - 11:33 #9
jeg lægger lige point til iss...
Avatar billede jullehansen Nybegynder
03. september 2004 - 11:36 #10
Tak :)
Avatar billede jullehansen Nybegynder
03. september 2004 - 11:57 #11
Nyt problem, jeg synes ikke den logger i txt-filen.
Jeg kan ihvertifald ikke se noget..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester