Avatar billede dellevela Nybegynder
08. december 2002 - 12:00 Der er 11 kommentarer og
1 løsning

linkcounter med cookie

jaja jeg ved godt at man ikke må skrive det samme spg 2 gange men jeg har store problemer med det her script. nu har jeg prøvet i 2 dage. (jeg er ikke den store php nørd)

her er mit script..



<?
header('Cache-Control: no-cache');
header('Pragma: no-cache');

if($id)
{
include("connect.php");

$data = mysql_query("select url, hits from linkcounter where id = '$id'");
$row = mysql_fetch_array($data);
$hits = $row[hits] + 1;


mysql_query("update linkcounter set hits = '$hits' where id = '$id'");
header("location: $row[url]");

mysql_close;
exit;
}

if($action == "ny")
{
include("connect.php");

mysql_query("insert into linkcounter (url, hits) values ('$url', '0')");
$data = mysql_query("select id from linkcounter where url = '$url'");
$row = mysql_fetch_array($data);
?>
<html>

<font face="verdana">
Brug <b>linkcounter.php?id=<? echo("$row[id]"); ?></b> for at tælle på dette link.<br><br>
Du vil så automatisk blive sendt videre til <? echo("$url"); ?>.
</font>

</html>
<?
mysql_close;
exit;
}

if($action == "slet")
{
include("connect.php");

mysql_query("delete from linkcounter where id = '$slet'");

mysql_close;
}
?>
<html>
<head>
<title>Linkcounter</title>
</head>


<font face="verdana">
<b>Tilføj ny:</b>
<form action="linkcounter.php" method="post">
<input type="hidden" name="action" value="ny">
URL: <input type="text" name="url"> F.eks. billeder.php<br>
<input type="submit" value="Okai">
</form><br>

<b>Slet:</b>
<form action="linkcounter.php" method="post">
<input type="hidden" name="action" value="slet">
ID: <input type="text" name="slet"><br>
<input type="submit" value="Okai">
</form><br><br>

Når du vil tælle antal gange et link er blevet trykket på, skal du lige
ind og vende dette script. Dette gøres ved at linke til:
<b>linkcounter.php?id=ID</b> - så vil scriptet selv vidrestille til den
url du indtastede, da du oprettede linket!

<br><br><br>
<?
include("connect.php");

$data = mysql_query("select * from linkcounter order by id");
while ($row = mysql_fetch_array($data))
{
?>
ID: <? print("$row[id]") ?><br>
URL: <? print("$row[url]") ?><br>
HITS: <? print("$row[hits]") ?><br>
<hr>
<?
}
mysql_close;
?>
</font>

</html>


jeg ved godt at man selv skal prøve men jeg gav op! pleace help me and score 200 point.
Avatar billede dellevela Nybegynder
08. december 2002 - 12:02 #1
ups mit problem er at man kan begsøge det samme side 2 gange og så få hits så kan jeg ikke holde styr på hvor mange der har klikket. jeg vil gerne have den til at bruge cookie!
Avatar billede dellevela Nybegynder
08. december 2002 - 12:03 #2
skal i have flere oplysniger eller forstår i ikke spørgsmålet så sig til!
Avatar billede dellevela Nybegynder
08. december 2002 - 13:49 #3
ingen der vil lave det for 200 point???
Avatar billede jinxit Nybegynder
08. december 2002 - 19:15 #4
Hvor lang tid skal der gå mellem 2 kliks fra samme bruger før det igen registeres?

Chart.dk har eksempelvis defineret en unik bruger som en besøgende der ikke har besøgt et link i min. 20 minutter, derefter tælles igen et hit.
Avatar billede dellevela Nybegynder
09. december 2002 - 11:47 #5
der skal gå et døgn!
Avatar billede dellevela Nybegynder
09. december 2002 - 13:23 #6
kan du lave det jinxit?
Avatar billede jinxit Nybegynder
09. december 2002 - 14:16 #7
<pre>
if($id){

  include("connect.php");
 
  $data = mysql_query("select url, hits from linkcounter where id = '$id'");
  $row = mysql_fetch_array($data);

  if(!isset($_COOKIE['$id'])){

    $hits = $row[hits] + 1;
    mysql_query("update linkcounter set hits = '$hits' where id = '$id'");
    setcookie ('$id','',time()+60*60*24); //expires in 24 hours 
  }

  header("location: $row[url]");
  mysql_close;
  exit;
}
</pre>

Det eneste problem med at benytte cookies er, at en browser kun er forpligtet til at beholde 20 cookies pr. site. Derefter overskrives de gamle bare. Hvis en bruger derfor klikker på mere end 20 af disse links kan han bare starte forfra og de vil stadigvæk blive registreret.
Avatar billede dellevela Nybegynder
09. december 2002 - 14:38 #8
jeg har prøvet med det du siger, men kan ikke finde ud af det. er ikke så god endnu til det der php noget. så vil du ikke nok lave hele scriptet for mig.

husk det er 200 point!
Avatar billede jinxit Nybegynder
09. december 2002 - 14:43 #9
Så skal du lige sende det til mig...

erik.aarslew@irole.dk
Avatar billede dellevela Nybegynder
09. december 2002 - 14:47 #10
sendt!
Avatar billede jinxit Nybegynder
09. december 2002 - 15:46 #11
Rettet og retursendt!
Avatar billede dellevela Nybegynder
09. december 2002 - 16:09 #12
har modtaget tester i aften!
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