Avatar billede -kenner- Nybegynder
14. februar 2005 - 12:19 Der er 13 kommentarer og
1 løsning

Unik besøgstæller kan ikke tælle til mere end 1..

Hej eksperter,

Jeg tænkte på om i ikke lige ville kigge på min unikke besøgstæller, for jeg kan ikke få det til at virke :(..

Jeg gemmer adresserne i en txt fil med kryds i alle 9 CHMODE felter..


På forhånd tak!

mvh Kenneth
Kode:
<html>
<head>
<title>Unikke besoeg</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><font face="verdana" size="1">
<?php

$fdate = filectime("tael.txt");
if (date("d/m/y") == date("d/m/y",$fdate))
  $mode = "a";
else
  $mode = "w";
$fp = fopen("tael.txt",$mode);
fwrite($fp,$REMOTE_ADDR."\n");
clearstatcache();
fclose($fp);

?>
<?php

$cont = array_unique(file("tael.txt"));
$antal = count($cont);
$cont = join("",$cont);
$fp = fopen("tael.txt","w");
fwrite($fp,$cont);
fclose($fp);
 
echo "Unikke besøg i dag: $antal";

?>
</font> </font>
</body>
</html>
Avatar billede coderdk Praktikant
14. februar 2005 - 13:17 #1
Prøv med:

clearstatcache();
$fdate = filectime("tael.txt");
if (date("d/m/y") == date("d/m/y",$fdate))
  $mode = "a";
else
  $mode = "w";
$fp = fopen("tael.txt",$mode);
flock( $fp, LOCK_EX );
fwrite($fp,$_SERVER['REMOTE_ADDR']."\n");
flock( $fp, LOCK_UN );
fclose($fp);
Avatar billede coderdk Praktikant
14. februar 2005 - 13:20 #2
Hmm vent, jeg ville lave den lidt om:

    clearstatcache();
    $fdate = filectime("tael.txt");
    $cont = array();
    if (date("d/m/y") == date("d/m/y",$fdate))
      $cont = file( "tael.txt" );
    $cont[] = $_SERVER['REMOTE_ADDR'];
    $cont = array_unique( $cont );
    $antal = count($cont);
    $cont = join("",$cont);
    $fp = fopen("tael.txt","w");
    flock( $fp, LOCK_EX );
    fwrite($fp,$cont);
    flock( $fp, LOCK_UN );
    fclose($fp);
Avatar billede coderdk Praktikant
14. februar 2005 - 13:59 #3
Jeg ville nok ændre linjen:

    $cont[] = $_SERVER['REMOTE_ADDR'];

til:

    $cont[] = $_SERVER['REMOTE_ADDR'] . "\n";

:)
Avatar billede coderdk Praktikant
14. februar 2005 - 14:08 #4
Og for at forhindre at fejl bliver vist:

    clearstatcache();
    $fdate = @filectime("tael.txt");
    $cont = array();
    if (date("d/m/y") == date("d/m/y",$fdate))
      $cont = @file( "tael.txt" );
    $cont[] = $_SERVER['REMOTE_ADDR'] . "\n";
    $cont = array_unique( $cont );
    echo $antal = count($cont);
    $cont = join("",$cont);
    if ( $fp = fopen("tael.txt","w") )
    {
        if ( flock( $fp, LOCK_EX ) )
        {
            fwrite($fp,$cont);
            flock( $fp, LOCK_UN );
        }
        fclose($fp);
    }
Avatar billede -kenner- Nybegynder
14. februar 2005 - 17:28 #5
Okay.. ehm..

Du forvirre mig lidt.. kan du ikke skrive koden copy and paste, så kan jeg bedre følge med..
Avatar billede -kenner- Nybegynder
14. februar 2005 - 17:36 #6
Så koden vil komme til at se sådan ud:

<html>
<head>
<title>Unikke besoeg</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><font face="verdana" size="1">
<?php

$fdate = filectime("tael.txt");
if (date("d/m/y") == date("d/m/y",$fdate))
  $mode = "a";
else
  $mode = "w";
$fp = fopen("tael.txt",$mode);
fwrite($fp,$REMOTE_ADDR."\n");
clearstatcache();
    $fdate = @filectime("tael.txt");
    $cont = array();
    if (date("d/m/y") == date("d/m/y",$fdate))
      $cont = @file( "tael.txt" );
    $cont[] = $_SERVER['REMOTE_ADDR'] . "\n";
    $cont = array_unique( $cont );
    echo $antal = count($cont);
    $cont = join("",$cont);
    if ( $fp = fopen("tael.txt","w") )
    {
        if ( flock( $fp, LOCK_EX ) )
        {
            fwrite($fp,$cont);
            flock( $fp, LOCK_UN );
        }
        fclose($fp);
    }

?>
<?php

$cont = array_unique(file("tael.txt"));
$antal = count($cont);
$cont = join("",$cont);
$fp = fopen("tael.txt","w");
fwrite($fp,$cont);
fclose($fp);
 
echo "Unikke besøg i dag: $antal";

?>
</font> </font>
</body>
</html>
Avatar billede -kenner- Nybegynder
14. februar 2005 - 17:47 #7
hmm.. Efter et besøg skriver den:

2 Unikke besøg i dag: 0

vil gerne have at det er $antal der viser antallet af besøgende, så jeg kan flytte rundt med det..
Avatar billede coderdk Praktikant
14. februar 2005 - 19:56 #8
Sådan:

<html>
<head>
<title>Unikke besoeg</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
  body {
    font-family: verdana, arial, helvetica, sans-serif;
  }
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<?php

$fdate = filectime("tael.txt");
if (date("d/m/y") == date("d/m/y",$fdate))
  $mode = "a";
else
  $mode = "w";
$fp = fopen("tael.txt",$mode);
fwrite($fp,$REMOTE_ADDR."\n");
clearstatcache();
    $fdate = @filectime("tael.txt");
    $cont = array();
    if (date("d/m/y") == date("d/m/y",$fdate))
      $cont = @file( "tael.txt" );
    $cont[] = $_SERVER['REMOTE_ADDR'] . "\n";
    $cont = array_unique( $cont );
    $antal = count($cont);
    $cont = join("",$cont);
    if ( $fp = fopen("tael.txt","w") )
    {
        if ( flock( $fp, LOCK_EX ) )
        {
            fwrite($fp,$cont);
            flock( $fp, LOCK_UN );
        }
        fclose($fp);
    }

    echo "Unikke besøg i dag: " . $antal";

?>
</font> </font>
</body>
</html>
Avatar billede coderdk Praktikant
14. februar 2005 - 19:56 #9
Erh, nej sådan:

<html>
<head>
<title>Unikke besoeg</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
  body {
    font-family: verdana, arial, helvetica, sans-serif;
  }
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<?php

    clearstatcache();
    $fdate = @filectime("tael.txt");
    $cont = array();
    if (date("d/m/y") == date("d/m/y",$fdate))
      $cont = @file( "tael.txt" );
    $cont[] = $_SERVER['REMOTE_ADDR'] . "\n";
    $cont = array_unique( $cont );
    $antal = count($cont);
    $cont = join("",$cont);
    if ( $fp = fopen("tael.txt","w") )
    {
        if ( flock( $fp, LOCK_EX ) )
        {
            fwrite($fp,$cont);
            flock( $fp, LOCK_UN );
        }
        fclose($fp);
    }

    echo "Unikke besøg i dag: " . $antal";

?>
</font> </font>
</body>
</html>
Avatar billede coderdk Praktikant
14. februar 2005 - 19:57 #10
Og for lige at rydde op i HTML'en:

<html>
<head>
<title>Unikke besoeg</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
  body {
    font-family: verdana, arial, helvetica, sans-serif;
  }
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<?php

    clearstatcache();
    $fdate = @filectime("tael.txt");
    $cont = array();
    if (date("d/m/y") == date("d/m/y",$fdate))
      $cont = @file( "tael.txt" );
    $cont[] = $_SERVER['REMOTE_ADDR'] . "\n";
    $cont = array_unique( $cont );
    $antal = count($cont);
    $cont = join("",$cont);
    if ( $fp = fopen("tael.txt","w") )
    {
        if ( flock( $fp, LOCK_EX ) )
        {
            fwrite($fp,$cont);
            flock( $fp, LOCK_UN );
        }
        fclose($fp);
    }

    echo "Unikke besøg i dag: " . $antal";

?>
</body>
</html>

Bemærk at <font> ikke har været en del af HTML-standarden meget længe ;)
Avatar billede -kenner- Nybegynder
15. februar 2005 - 12:54 #11
Den sidste kode viser:

Parse error: parse error, unexpected '\"', expecting ',' or ';' in /free1go/k/e/www.kenner.1go.dk/besoeg/unik.php on line 33
Avatar billede coderdk Praktikant
15. februar 2005 - 16:53 #12
Bah ja,

    echo "Unikke besøg i dag: " . $antal";

Skal selvfølgelig være:

    echo "Unikke besøg i dag: " . $antal;
Avatar billede -kenner- Nybegynder
06. august 2006 - 12:31 #13
Tak, send svar :)
Avatar billede coderdk Praktikant
06. august 2006 - 18:46 #14
hehe ok :)
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