Avatar billede tonycraft Nybegynder
31. marts 2005 - 12:27 Der er 10 kommentarer

Nyhedsbrev statistik

Hej yAll

Jeg er igang med et nyhedsbrev som jeg sender til ca 200 pers..
I nyhedsbrevet er der links..
jeg ville gerne kunne føre statistik over hvilke links der klikkkes på o.s.v og gemme det enten i en text fil eller sqlDB

Hvordan gør jeg ..

Hilsen
Tony
Avatar billede sostack Nybegynder
31. marts 2005 - 12:38 #1
Hvordan ser et link ud i dit nyhedsbrev?
"rammer" det en php-fil?
Hvis ja, kunne du jo sende en parameter med.
<a href="http://www.dinside.dk/nyhedslink.php?link=23">link</a>
og så checke for $_GET["link"] i din nyhedslink.php

//sostack
Avatar billede krydset Nybegynder
31. marts 2005 - 12:45 #2
i linkt kunne du jo så lave sådan her

<a href="http://www.din-side.dk?page_id=test.php&funktion=statestik">Klik mig</a>

på din side har du så det het her

<?php
if($_GET['funktion'] == "statestik") {
  //kigger lige i statestik db om siden findes
  $page_res = mysql_query("select * from statestik WHERE page_id = '$_GET[page_id]'") or die(mysql_error());
  $antal_side = mysql_num_rows($page_res);
  //hvis siden findes så skal antal gange siden er vist hentes ud og der skal ligges 1 oven i
  if($antal_side >= 1) {
    click_res = mysql_query("SELECT * FROM statestik WHERE page_id = '$_GET[page_id]'") or die(mysql_error());
    while($click_row = mysql_fetch_array($click_res)) {
      $antal_click = $click_row['click'];
      $antal_click = $antal_click + 1;
    }
    mysql_query("UPDATE statestik SET click = '$antal_click'") or die(mysql_error());
  } else {
      //Hvis siden ikke findes sættes den ind i tabel statestik
}

Noget derhenad
Avatar billede sostack Nybegynder
31. marts 2005 - 12:46 #3
Lav en tabel "linkklik" i MySQL, med felterne id, link og klik.
<?php
connect til db
if(isset($_GET["link"]))
{
  mysql_query("UPDATE linkklik SET klik=klik+1 WHERE link='" . $_GET["link"] . "'");
}
.
.
resten af siden
.
.
?>

//sostack
Avatar billede tonycraft Nybegynder
31. marts 2005 - 12:48 #4
Ok..den del virker fint men hvordan får variablen ned i en txt fil er sqlDB ?
Avatar billede krydset Nybegynder
31. marts 2005 - 12:54 #5
rettet lidt

<?php
/*
    Du opretter så en tabel med navnet statestik med flg felter
    site_name varchar 255
    clicks = int 10
*/

if($_GET['funktion'] == "statestik") {
    //kigger lige i statestik db om siden findes
    $page_res = mysql_query("select * from statestik WHERE page_id = '$_GET[page_id]'") or die(mysql_error());
    $antal_side = mysql_num_rows($page_res);
      //hvis siden findes så skal antal gange siden er vist hentes ud og der skal ligges 1 oven i
      if($antal_side >= 1) {
        $click_res = mysql_query("SELECT * FROM statestik WHERE page_id = '$_GET[page_id]'") or die(mysql_error());
        while($click_row = mysql_fetch_array($click_res)) {
              $antal_click = $click_row['click'];
              $antal_click = $antal_click + 1;
        } //end while
        mysql_query("UPDATE statestik SET click = '$antal_click'") or die(mysql_error());
      } else {
      //Hvis siden ikke findes sættes den ind i tabel statestik
      mysql_query("INSERT INTO statestik (site_name, clicks) VALUES ('$_GET[page_id]','1')") or die(mysql_error());
      } //end if
} //end function
?>

Du kan jo gøre det du henter alt indholdet ud fra mysql tabellen og føre det ned i en txt fil
Avatar billede krydset Nybegynder
31. marts 2005 - 13:04 #6
her er et lille eks. der henter ud fra en db og skriver det til en txt fil


<?php
include("dbconnect.php");
$filename = "link_log.txt";
$handle = fopen($filename, "w");
$statestik_res = mysql_query("SELECT * FROM statestik") or die(mysql_error());
while($statestik_row = mysql_fetch_array($statestik_res)) {
  $content = $statestik_row['page_id'];
  $content .= $statestik_row['clicks'];
}
fwrite($handle, $content);
       
?>
Avatar billede tonycraft Nybegynder
31. marts 2005 - 13:05 #7
Hey Krydset

<a href="http://www.din-side.dk?page_id=test.php&funktion=statestik">Klik mig</a>

test.php&.... skal test.php indholde statistik scriptet ?

Tony
Avatar billede krydset Nybegynder
31. marts 2005 - 13:13 #8
nej ikke direkte, jeg ved ikke hvordan din site structur, men i det link der fører til din side skal du ramme funktionen statestik jeg plejer som det næsten allerførste på min side at have includeret en fil include("func.php"); som indeholder alle sådanne funktioner

Mine link plejer så at se sådan her ud

<a href="http://www.din-side.dk/index.php?page_id=22&function=statestik">test mig</a>
Avatar billede tonycraft Nybegynder
31. marts 2005 - 13:42 #9
Dette er nyhedsbrev jeg vil udsende via email.(eks : http://www.hobofo.dk/hobofo/test/nyhedsbrev/april.htm)
Nederst er der et link "test galleri" . Når nyhedsbrev modtageren klikker på dette skal han/hun sendes til galleri og klikket skal registreres i sqlDB..
det er selv strengen <a href="http://www.din-side.dk/index.php?page_id=22&function=statestik">test mig</a> jeg ikke kan gennemskue ?
Avatar billede krydset Nybegynder
31. marts 2005 - 19:05 #10
Har du mulighed for at kalde den php i stedet for html, altså april.php ?
for så vil den se sådan her ud:

http://www.hobofo.dk/hobofo/test/nyhedsbrev/april.php?funktion=statestik så vil den gøre det ?
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