Avatar billede maduni Nybegynder
08. december 2000 - 02:46 Der er 10 kommentarer og
1 løsning

Linkcounter

Jeg har et linksystem, men jeg vil gerne have at man skal kunne se hvor mange gange der er blevet klikket på de forskellige links. Via PHP/mySQL
Avatar billede tupsy Nybegynder
08. december 2000 - 05:25 #1
Lytter med.. :-)

Tupsy!!
Avatar billede herluf Nybegynder
08. december 2000 - 08:57 #2
Har du dine links til at ligge i databasen? Eller er det nogle faste links, der ligger på din side?
Avatar billede dreadnought Nybegynder
08. december 2000 - 09:41 #3
Så burde du lave en \"redir.php\" script. alle dine links giver du et nummer som \"redir.php\" så slår op i databasen og lægger en til linkets tæller. \"redir.php\" vender så tilbage med følgende:

<HTML>
<HEAD>
  <META HTTP-EQUIV=\"Refresh\" CONTENT=\"1; URL=http://<?php $link ?>\">
</HEAD>
<BODY>
  Redirecting...
</BODY>
</HTML>

Databasen kan jo så se sådan ud:

LinkID | Link | Counter
Avatar billede dreadnought Nybegynder
08. december 2000 - 09:42 #4
Og kalder \"redir.php\" selvfølgelig sådan:

.../redir.php?linkID=7667
Avatar billede Slettet bruger
08. december 2000 - 10:37 #5
Det er en nem løsning, men man kvæler muligheden for at bruge back-knappen...Ellers skal alle links åbne i et nyt vindue.

For hver gang redir.php siden kaldes, sendes man straks videre til linket.
Avatar billede dreadnought Nybegynder
08. december 2000 - 11:24 #6
Jeg giver dig ret. Jeg er heller ikke begejstret for sådanne sider. Men det er den eneste måde at kunne tælle hvor mange gange linket er blevet brugt.

ATT >> maduni:
Linket i databasen burde nok have http:// eller ftp:// osv. med, så META taggen skal så se sådan ud:
<HEAD>
  <META HTTP-EQUIV=\"Refresh\" CONTENT=\"1; URL=<?php $link ?>\">
</HEAD>
Avatar billede jd Nybegynder
08. december 2000 - 15:50 #7
Hvorfor bruge meta når php har sin egen?
Og desuden er der da ingen grund til at lade den refreshe med en anden url efter 1 sekund...

noget alá:: (med mysql)

$q=mysql_query(\"select URL,hits from links where id=$id\") or die(mysql_error());
extract(mysql_fetch_array($q));
header(\"location: $URL\");
mysql_query(\"update links set HITS=$hits+1 where id=$id\") or die(mysql_error());

Det kræver så at du connecter til databasen først, og at du har en tabel kaldet \'links\' med felterne \'id\' og \'URL\'.

Og for at se hvor mange hits et link har haft, så henter du det bare med et almindeligt mysql-query..

/Jon@z
Avatar billede alvion Nybegynder
11. december 2000 - 20:39 #8
Med id\'s udgave virker back knappen endda :)
Avatar billede jd Nybegynder
11. december 2000 - 20:53 #9
DET ER JD :O)
Avatar billede alvion Nybegynder
11. december 2000 - 22:53 #10
Sorry ;-) Jeg er træt og snæversyn... øhm... nærsynet.
Avatar billede jd Nybegynder
12. december 2000 - 16:42 #11
i orden :)

maduni-> Hallo???
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
Computerworld tilbyder specialiserede kurser i database-management

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