Avatar billede madsass Nybegynder
30. august 2003 - 15:18 Der er 1 kommentar og
1 løsning

Klik Counter

Hej Eksperter..
Jeg har et script der gør at den tæller hvor mange gange kliks der har været på eks. Når man trykker på tagwall inde på min side... Så kan man gå ind på en anden side på siden og se hvor mange der har klikket de forskellige steder.. Det man skal for at den tæller linket med, der skal man sætte denne linie foran linket:
http://www.madsass.frac.dk/Click/count.php?
Og lige bagefter ? tegnet skal man skrive linket ikke noget mellemrum eller noget.. Scriptet består af disse filer

count.php (Filen der registrerer kliksne og sætter dem ind i en tom txt fil der hedder data.txt:
<?php

// Necessary Variables:

$COUNT_FILE = "data.txt";
    // En: Absolute path and name to count data file.
   
// End  Necessary Variables section
/******************************************************************************/

function error ($error_message) {
    echo $error_message."<BR>";
    exit;
}

$url = urldecode($QUERY_STRING);

if (! file_exists($COUNT_FILE))
    error("Can't find file, check '\$COUNT_FILE' var...");

if ((! $url) || (! preg_match("/http:/", $url))) error ("Invalid url, you chould add url ex: <A HREF=\"http://$SERVER_NAME$PHP_SELF?http://www.entensity.net/\">http://$SERVER_NAME$PHP_SELF?http://www.entensity.net/</A>");

$file_arry = file($COUNT_FILE); //or error("Can not open \$COUNT_FILE");
       
while (list($key, $val) = each($file_arry)) {
    if ($val != "") {
        list($file_url, $nb) = preg_split("/\t|\n/", $val);
        if ($file_url == $url) {
            $nb++; $file_arry[$key] = "$file_url\t$nb\n"; $find = 1;
        }
    }
}

$file = join ("", $file_arry);
if (! $find) $file .= "$url\t1\n";

$fp = fopen("$COUNT_FILE", "w"); //or error("Can not open \$COUNT_FILE");
flock($fp, 1);
fputs($fp, $file);                                                   
flock($fp, 3);
fclose($fp);
header("Location: $url");

?>

og

stats.php (Filen der laver listen med hvor mange klik der har været:

<?php

// Necessary Variables:

$COUNT_FILE = "data.txt";
    // En: Absolute path and name to count data file.
   
// End  Necessary Variables section
/******************************************************************************/

function error ($error_message) {
    echo $error_message."<BR>";
    exit;
}

?>


<HTML><HEAD><STYLE>
BODY {scrollbar-face-color: #FFFFFF; scrollbar-shadow-color: #000000;
scrollbar-highlight-color: #FFFFFF; scrollbar-3dlight-color: #FFFFFF;
scrollbar-darkshadow-color:#FFFFFF; scrollbar-track-color: #FFFFFF;
scrollbar-arrow-color: #000000} </STYLE>
<style>
<!--
a{text-decoration:none;}
//-->
</style>
<script>
function stopErrors() {
return true;
}
window.onerror = stopErrors;
</script>
<style>
a:link      { color: #000000; text-decoration: none }
a:visited  { color: #000000; text-decoration: none }
a:active  { color: #000000; text-decoration: none }
A:hover    { color: #000000; text-decoration: none}
</style><TITLE>-:-| Klik Counter |-:-</TITLE></HEAD>
<BODY BGCOLOR="#FFFFFF">
<P ALIGN="Center"><FONT FACE="Verdana" SIZE="1" COLOR="#000000">Klik Counter</EM></FONT></P>

<?php

if (! file_exists($COUNT_FILE))
    error("Can't find file, check '\$COUNT_FILE' var...");

$file_arry = file($COUNT_FILE) or error("Can not open \$COUNT_FILE");

echo "<table width=\"50%\" border=\"1\" align=\"center\" cellpadding=\"2\" cellspacing=\"2\" bordercolor=\"#FFFFFF\">
  <tr bordercolor=\"#000000\">
    <td width=\"81%\" height=\"18\"><div align=\"center\"><font size=\"1\" face=\"Verdana\"><b>Side</b></font></div></td>
    <td width=\"19%\"><div align=\"center\"><font size=\"1\" face=\"Verdana\"><b>Klik</b></font></div></td>
  </tr>";

while (list($key, $val) = each($file_arry)) {
    if ($val != "") {
        list($file_url, $nb) = preg_split("/\t|\n/", $val);
        echo " <tr bordercolor=\"#000000\">
    <td height=\"18\"><font size=\"1\" face=\"Verdana\"><A HREF=\"$file_url\" target=\"_self\">$file_url</A></font></td>
    <td><div align=\"center\"><font size=\"1\" face=\"Verdana\">$nb</font></div></td>
  </tr>";
    }
}
echo "</TABLE>";
?>

</BODY></HTML>

Det jeg så gerne vil have.. Det er at den IKKE skal tælle mine klik med når jeg surfer rudt på min side for at kigge efter fejl.. Hvad skal jeg så gøre for at den ikke tæller klik med fra min computer..?? Altså hvad jeg skal skrive i scriptet???

Håber at i forstår mig ved dette "Indviklede Spørgsmål"
Med Venlig Hilsen
Madsass
Avatar billede morpheus Nybegynder
02. september 2003 - 21:09 #1
Du kunne jo øverst i din count.php lave flg.:
if($_SERVER['REMOTE_ADDR'] == "dinip") {
header("location: ".$url);
}
Avatar billede madsass Nybegynder
05. oktober 2003 - 15:40 #2
Luk
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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