Avatar billede mjayg Nybegynder
16. april 2007 - 12:23 Der er 23 kommentarer

Antal Klik på link

Goddag ;p.

Jeg har et link hvor  jeg gerne vil have en slags counter så man kan se hvor mange gange der er blevet trykket på linket ?.. puplic ?. dvs.

Klik her (Antal klik: 7) Hvordan laves det ?
Avatar billede nixir Nybegynder
16. april 2007 - 13:02 #1
nemmeste måde må siges at være at oprette en database.. mysql eller lign...

tabel
  id auto
  navn varchar
  url int
  hits int

lav en side du linker til istedet for den faktiske side. Du linker fx til hit_counter.php?id=10

hit_counter.php tjekker din tabel WHERE id = 10 ... Så finder den url vha et opslag i din tabel, og så skriver du header("Loacation: ".$url); exit;

Kan lave et fuldt eksempel hvis du ikke forstår...
Avatar billede mjayg Nybegynder
16. april 2007 - 13:04 #2
forstår godt hva du  mener.. Men linket bliver faktisk allerede trukket ud fra en tabel i mysql. såeh.. men prøver lige at kigge på det i aften (:
Avatar billede mjayg Nybegynder
16. april 2007 - 13:05 #3
og Linket linker faktisk til en Fil.. Film eller musik fil
Avatar billede mjayg Nybegynder
16. april 2007 - 13:07 #4
Så man kommer ikke engang ind på en decideret side når man trykker på linket.. og den fil som man linker til vælger man når linket oprettes. så det er lidt kompliceret. kunne bare ik helt udtænke hvordan jeg skulle lave det ;s
Avatar billede nixir Nybegynder
16. april 2007 - 13:36 #5
okay ... men hvis du skriver et dump af din tabelstruktur + der hvor du skriver linket til brugeren, så kan jeg da lige lave det for dig hvis du ikke selv kan få det til at virke :)
Avatar billede nixir Nybegynder
16. april 2007 - 13:43 #6
din query der tæller kommer til at se således ud:
UPDATE tabel SET hits = hits + 1 WHERE id = $id
Avatar billede mjayg Nybegynder
16. april 2007 - 20:53 #7
ItemID int(4) auto_increment             
  Dato timestamp(14)               
  Title varchar(80)               
  Link varchar(160)               
  Description varchar(255)           
  News longtext

^ Det er tabellen. Og ja Link er den celle som der skal være counter på hvis man kan sige det sådan ;p.

echo "<b><a href='" . $data['Link'] . "'>Download her</a> Og her bliver linket så udskrevet.
Avatar billede nixir Nybegynder
17. april 2007 - 00:02 #8
t_a_b_e_l
  ItemID int(4) auto_increment             
  Dato timestamp(14)               
  Title varchar(80)               
  Link varchar(160)               
  Description varchar(255)           
  News longtext
  Hits int(10)
________________________________

echo "<b><a href='count.php?id=" . $data['ItemID'] . "'>Download her</a>";
________________________________

count.php:

if(isset($_GET['id'])) {
  mysql_query("UPDATE t_a_b_e_l SET Hits = Hits + 1 WHERE ItemID = ".$_GET['id']));
  $query = mysql_query("SELECT Link FROM t_a_b_e_l WHERE ItemID = ".$_GET['id']));
  $row = mysql_fetch_array($query);
  header("Location: "$row['Link']);
  exit;
} else {
  echo: ERROR
}

Forbehold for fejl .. skrevet i hånden ...
Avatar billede mjayg Nybegynder
17. april 2007 - 08:21 #9
ser fornuftigt ud ;p. afprøveer den lige
Avatar billede nixir Nybegynder
17. april 2007 - 14:50 #10
echo: "ERROR"; // Lille fejl ;)
Avatar billede nixir Nybegynder
17. april 2007 - 14:51 #11
argh ... fejl igen :P sådan her: haha
  echo "ERROR";
Avatar billede mjayg Nybegynder
18. april 2007 - 09:45 #12
Hvorfor $data['ItemID'] ?
Avatar billede mjayg Nybegynder
18. april 2007 - 09:51 #13
nårh sådan så den ved hvilket ID der er blevet selecetet
Avatar billede mjayg Nybegynder
18. april 2007 - 09:54 #14
Parse error: syntax error, unexpected ')' in (På linje 3 i count.php)
Avatar billede mjayg Nybegynder
18. april 2007 - 09:58 #15
Det hjalp lige at fjerne ")" (:

Parse error: syntax error, unexpected T_VARIABLE in (På linje 6 = header("Location: "$row['Link']);
Avatar billede nixir Nybegynder
19. april 2007 - 14:43 #16
count.php:

if(isset($_GET['id'])) {
  mysql_query("UPDATE t_a_b_e_l SET Hits = Hits + 1 WHERE ItemID = ".$_GET['id']);
  $query = mysql_query("SELECT Link FROM t_a_b_e_l WHERE ItemID = ".$_GET['id']);
  $row = mysql_fetch_array($query);
  header("Location: ".$row['Link']);
  exit;
} else {
  echo: "ERROR";
}
Avatar billede mjayg Nybegynder
19. april 2007 - 15:01 #17
Der skal da ik være : efter echo :P ?
Avatar billede mjayg Nybegynder
19. april 2007 - 15:04 #18
Den virker sku heller ik den der :s
Avatar billede nixir Nybegynder
19. april 2007 - 15:07 #19
argh :P

Det er skrevet i hånden ... giv mig en chance ;) hehe

count.php:

if(isset($_GET['id'])) {
  mysql_query("UPDATE t_a_b_e_l SET Hits = Hits + 1 WHERE ItemID = ".$_GET['id']);
  $query = mysql_query("SELECT Link FROM t_a_b_e_l WHERE ItemID = ".$_GET['id']);
  $row = mysql_fetch_array($query);
  header("Location: ".$row['Link']);
  exit;
} else {
  echo "ERROR";
}
Avatar billede mjayg Nybegynder
20. april 2007 - 08:39 #20
hehe ;p.. ja okay ;)

Well nu udskriver den ihvertfald ingen fejl. Men når den går ind på count siden udskriver den blot: No input file specified.
Avatar billede nixir Nybegynder
20. april 2007 - 12:25 #21
Går ud fra det er din egen fejl-meddelelse?

Det betyder jo blot at isset($_GET['id']) er FALSE ... Dvs. at det der fx skulle være count.php?id=1 er defineret forkert.

Sørg for det minder om:
echo "<b><a href='count.php?id=".$id."'>Download her</a>";
Avatar billede mjayg Nybegynder
20. april 2007 - 14:04 #22
ja det er firefox fejlmeddelelse.

Hm det forstår jeg ik ?. ALtså den kører jo ik rigtig Count.php filen ? der bliver heller ik indsat noget i databasen
Avatar billede nixir Nybegynder
20. april 2007 - 17:21 #23
Jeg må indrømme jeg ikke lige kan overskue hvor fejlen ligger.

Det burde virke ...

Min ven havde lige problemer med hans egen server som ikke kunne håndterer isset rigtigt ... Har aldrig selv været ude for det, men forsøg da med at fjerne isset - bare for at se om det virker.
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