Avatar billede albani Nybegynder
04. juni 2004 - 13:18 Der er 19 kommentarer og
1 løsning

counter, kun et besøg dagligt

Hej eksperter

Jeg bruger følgende counter på min hjemmeside...
http://www.arttrust.de/aslp_web/php/scripts/counter/counter.php3

Kan jeg ændre koden sådan hvert unikt besøg kun tæller én og ikke en mere ved reload osv... ?

på forhånd tak
Avatar billede basse55 Nybegynder
04. juni 2004 - 14:32 #1
Kan du ikke bare bruge cookies?

Mvh. Sebastain
Avatar billede jakobdo Ekspert
04. juni 2004 - 14:41 #2
Kan du ikke evt bruge dette:


Du kan ikke få en 100% virkende løsning!
Du kunne evt bruge Cookie! (hvad hvis cookies er disabled?)
Du kunne bruge ip! (hvad hvis brugeren har dynamisk ip?)

Et let løsning kunne være:



<?php
/* counter */
$datei = fopen("countlog.txt","r"); //opens countlog.txt to read
$count = fgets($datei,1000);
fclose($datei);

if ($_COOKIE["Cookie"] || $HTTP_COOKIE_VARS["Cookie"])
{
//Ingenting...
}
else
{
    $idag = getdate();
    $nu = time();
    $iNat = mktime(23,59,59,$idag[mon],$idag[mday],$idag[year]);
    $diff = $iNat - $nu;
   
    setcookie("Cookie", "Visit", $diff);  /* udløber i nat */

    $count=$count + 1 ;
    $datei = fopen("countlog.txt","w"); // opens to write and deletes the old count
    fwrite($datei, $count);
    fclose($datei);
}

    echo "<CENTER><FONT SIZE=\"3\" FACE=\"arial, verdana, helvetica\">you are vistor no.</FONT></CENTER>" ;
    echo "<CENTER><FONT SIZE=\"3\" FACE=\"arial, verdana, helvetica\">$count</FONT></CENTER>" ;
    echo "\n<br>" ;
?>
Avatar billede albani Nybegynder
04. juni 2004 - 15:29 #3
det melder fejl hvis jeg indsætter ovenstående kode... :-(

som sådan er det lige gyldigt om den kører efter IP, cookies...
Avatar billede jakobdo Ekspert
04. juni 2004 - 15:37 #4
Hvad får du af fejl?
Avatar billede jakobdo Ekspert
05. juni 2004 - 10:50 #5
Du skal CHMOD'e filen: countlog.txt til 777!
Avatar billede albani Nybegynder
21. juni 2004 - 16:12 #6
Warning: Cannot modify header information - headers already sent by (output started at /mnt/local/site/webservers/203/dy013203/test/Index/Velkommen.php:14) in /mnt/local/site/webservers/203/dy013203/test/Index/Velkommen.php on line 39
Avatar billede jakobdo Ekspert
21. juni 2004 - 16:21 #7
Vis os koden?
Avatar billede albani Nybegynder
21. juni 2004 - 16:22 #8
koden er den som du jo skrev til mig....

<?php
/* counter */
$datei = fopen("countlog.txt","r"); //opens countlog.txt to read
$count = fgets($datei,1000);
fclose($datei);

if ($_COOKIE["Cookie"] || $HTTP_COOKIE_VARS["Cookie"])
{
//Ingenting...
}
else
{
    $idag = getdate();
    $nu = time();
    $iNat = mktime(23,59,59,$idag[mon],$idag[mday],$idag[year]);
    $diff = $iNat - $nu;
   
    setcookie("Cookie", "Visit", $diff);  /* udløber i nat */

    $count=$count + 1 ;
    $datei = fopen("countlog.txt","w"); // opens to write and deletes the old count
    fwrite($datei, $count);
    fclose($datei);
}

    echo "<CENTER><FONT SIZE=\"3\" FACE=\"arial, verdana, helvetica\">you are vistor no.</FONT></CENTER>" ;
    echo "<CENTER><FONT SIZE=\"3\" FACE=\"arial, verdana, helvetica\">$count</FONT></CENTER>" ;
    echo "\n<br>" ;
?>
Avatar billede albani Nybegynder
21. juni 2004 - 16:23 #9
den oprindelige....:

<?php
/* counter */
$datei = fopen("countlog.txt","r"); //opens countlog.txt to read
$count = fgets($datei,1000);
fclose($datei);
$count=$count + 1 ;
echo "<CENTER><FONT SIZE=\"3\" FACE=\"arial, verdana, helvetica\">you are vistor no.</FONT></CENTER>" ;
echo "<CENTER><FONT SIZE=\"3\" FACE=\"arial, verdana, helvetica\">$count</FONT></CENTER>" ;
echo "\n<br>" ;
$datei = fopen("countlog.txt","w"); // opens to write and deletes the old count
fwrite($datei, $count);
fclose($datei);
?>
Avatar billede albani Nybegynder
21. juni 2004 - 16:23 #10
var det den du mente ? :-)
Avatar billede albani Nybegynder
21. juni 2004 - 16:26 #11
tror jeg misforstod dig før... hele koden til dokumenet ? så vidt jeg kan se er det i linie 34 det er galt, linien hvor den sætter udløbet....

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Velkommen</title>

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


<body bgcolor="#CCCCCC" background="Images/BG%20pattern.jpg">

<div id="Layer3" style="position:absolute; left:35px; top:17px; width:531px; height:234px; z-index:3;">
  <div align="center">
    <p><font face="Arial, Helvetica, sans-serif"><strong>Velkommen til Finn&acute;s Is &amp; P&oslash;lsehus</strong></font></p>
    <p>&nbsp;</p>
   
    <?php
/* counter */
$datei = fopen("countlog.txt","r"); //opens countlog.txt to read
$count = fgets($datei,1000);
fclose($datei);

if ($_COOKIE["Cookie"] || $HTTP_COOKIE_VARS["Cookie"])
{
//Ingenting...
}
else
{
    $idag = getdate();
    $nu = time();
    $iNat = mktime(23,59,59,$idag[mon],$idag[mday],$idag[year]);
    $diff = $iNat - $nu;
   
    setcookie("Cookie", "Visit", $diff);  /* udløber i nat */

    $count=$count + 1 ;
    $datei = fopen("countlog.txt","w"); // opens to write and deletes the old count
    fwrite($datei, $count);
    fclose($datei);
}

    echo "<CENTER><FONT SIZE=\"3\" FACE=\"arial, verdana, helvetica\">you are vistor no.</FONT></CENTER>" ;
    echo "<CENTER><FONT SIZE=\"3\" FACE=\"arial, verdana, helvetica\">$count</FONT></CENTER>" ;
    echo "\n<br>" ;
?>
   
   
    <p align="left"><font face="Arial, Helvetica, sans-serif">Her kan du l&aelig;se
      alt om min butik og hvilke varer vi f&oslash;rer endvidere er der links
      til mine leverand&oslash;rer s&aring; du kan se at vi kun bruger de bedste
      r&aring;varer for at tilfredsstille alle kunder.</font></p>
   
    <p align="left">&nbsp;</p>

   
   
    <p align="left"><font size="2" face="Arial, Helvetica, sans-serif">Finn&acute;s
      Is &amp; P&oslash;lsehus<br>
      Gravene 10A<br>
      6100 Haderslev<br>
      Tlf: 74522728</font><font size="2"><br>
      <font face="Arial, Helvetica, sans-serif">E-Mail: <a href="mailto:finn.wissmann@dyb-net.dk">finn.wissmann@dyb-net.dk</a>
     
     
      </font></font></p>
    </div>
</div>
<div id="Layer4" style="position:absolute; left:600px; top:17px; width:198px; height:71px; z-index:4"><a href="http://www.tulip.dk/dansk/default.asp" target="_blank"><img src="Images/Velkommen/tulip.gif" alt="Bes&oslash;g Tulips hjemmeside" width="245" height="75" border="0"></a></div>
<div id="Layer5" style="position:absolute; left:600px; top:107px; width:246px; height:108px; z-index:5"><a href="http://www.fuglsang.dk/" target="_blank"><img src="Images/Velkommen/fuglesang.jpg" alt="Bes&oslash;g Fuglsangs hjemmeside" width="245" height="145" border="0"></a></div>
<div id="Layer6" style="position:absolute; left:600px; top:268px; width:37px; height:43px; z-index:6;"><a href="http://www.nestlepremieris.dk/" target="_blank"><img src="Images/Velkommen/premiere.jpg" alt="Bes&oslash;g Premieres hjemmeside" width="245" height="169" border="0"></a></div>
</body>
</html>
Avatar billede jakobdo Ekspert
21. juni 2004 - 16:30 #12
Problemet er du begynder med HTML og almindelig HTML output...
Så laver du en SetCookie(), det kan du ikke efter af du har outputtet html!
Eller også er det hvordu forsøger at læse den!
Avatar billede albani Nybegynder
21. juni 2004 - 16:32 #13
eh... ok, sikker på du har ret, men hvordan løser jeg problemet ?

læser den ved at uploade den og igen "hente den ned" via IE
Avatar billede albani Nybegynder
21. juni 2004 - 16:49 #14
forresten, kan varmt anbefale dig, http://www.surf-swc.dk/ hvis du mangler noget billigt grej ! ;-)
Avatar billede albani Nybegynder
21. juni 2004 - 17:28 #15
i linien
setcookie("Cookie", "Visit", $diff);  /* udløber i nat */

kan jeg ikke finde ud af hvor "visit" kommer fra ?
Avatar billede jakobdo Ekspert
21. juni 2004 - 22:25 #16
Visit er et navn vi sætter på cookien!
Du skal lave alt setcookie / læs_cookie inden du laver output!
Skal evt kigge nærmere på det i morgen!
Avatar billede albani Nybegynder
23. juni 2004 - 12:04 #17
hvordan gør jeg ?
Avatar billede jakobdo Ekspert
23. juni 2004 - 12:51 #18
Ok, hvad så med dette?

<?php
    /* counter */
    $datei = fopen("countlog.txt","r"); //opens countlog.txt to read
    $count = fgets($datei,1000);
    fclose($datei);

if (isset($_COOKIE["Cookie"]) || isset($HTTP_COOKIE_VARS["Cookie"]))
{
    //INGENTING
}
else
{
    $idag = getdate();
    $nu = time();
    $iNat = mktime(23,59,59,$idag[mon],$idag[mday],$idag[year]);
    $diff = $iNat - $nu;
 
    setcookie("Cookie", 1, time()+$diff);  /* udløber i nat */

    $count=$count + 1 ;
    $datei = fopen("countlog.txt","w"); // opens to write and deletes the old count
    fwrite($datei, $count);
    fclose($datei);
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Velkommen</title>

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


<body bgcolor="#CCCCCC" background="Images/BG%20pattern.jpg">

<div id="Layer3" style="position:absolute; left:35px; top:17px; width:531px; height:234px; z-index:3;">
  <div align="center">
    <p><font face="Arial, Helvetica, sans-serif"><strong>Velkommen til Finn&acute;s Is &amp; P&oslash;lsehus</strong></font></p>
    <p>&nbsp;</p>

<? 
    echo "<CENTER><FONT SIZE=\"3\" FACE=\"arial, verdana, helvetica\">you are vistor no.</FONT></CENTER>" ;
    echo "<CENTER><FONT SIZE=\"3\" FACE=\"arial, verdana, helvetica\">$count</FONT></CENTER>" ;
    echo "\n<br>" ;
?> 
   
    <p align="left"><font face="Arial, Helvetica, sans-serif">Her kan du l&aelig;se
      alt om min butik og hvilke varer vi f&oslash;rer endvidere er der links
      til mine leverand&oslash;rer s&aring; du kan se at vi kun bruger de bedste
      r&aring;varer for at tilfredsstille alle kunder.</font></p>
   
    <p align="left">&nbsp;</p>

   
   
    <p align="left"><font size="2" face="Arial, Helvetica, sans-serif">Finn&acute;s
      Is &amp; P&oslash;lsehus<br>
      Gravene 10A<br>
      6100 Haderslev<br>
      Tlf: 74522728</font><font size="2"><br>
      <font face="Arial, Helvetica, sans-serif">E-Mail: <a href="mailto:finn.wissmann@dyb-net.dk">finn.wissmann@dyb-net.dk</a>
     
     
      </font></font></p>
    </div>
</div>
<div id="Layer4" style="position:absolute; left:600px; top:17px; width:198px; height:71px; z-index:4"><a href="http://www.tulip.dk/dansk/default.asp" target="_blank"><img src="Images/Velkommen/tulip.gif" alt="Bes&oslash;g Tulips hjemmeside" width="245" height="75" border="0"></a></div>
<div id="Layer5" style="position:absolute; left:600px; top:107px; width:246px; height:108px; z-index:5"><a href="http://www.fuglsang.dk/" target="_blank"><img src="Images/Velkommen/fuglesang.jpg" alt="Bes&oslash;g Fuglsangs hjemmeside" width="245" height="145" border="0"></a></div>
<div id="Layer6" style="position:absolute; left:600px; top:268px; width:37px; height:43px; z-index:6;"><a href="http://www.nestlepremieris.dk/" target="_blank"><img src="Images/Velkommen/premiere.jpg" alt="Bes&oslash;g Premieres hjemmeside" width="245" height="169" border="0"></a></div>
</body>
</html>
Avatar billede albani Nybegynder
23. juni 2004 - 12:57 #19
You are THE MAN ! det gav en enkelt fejl, men det var blot et mellemrum der skulle fjernes ! jeg takker ! smid et svar og du skal få dine meget fortjente point !
Avatar billede jakobdo Ekspert
23. juni 2004 - 13:02 #20
Svar! :o)
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