Avatar billede phliplip Nybegynder
09. november 2006 - 15:51 Der er 1 kommentar og
1 løsning

HTTP_REFERER bliver ikke sendt med meta refresh

Hej Exp,

Jeg har et kæmpe problem. På vores site har vi en "tracker" der registrerer alle kliks, og automatisk sender brugeren videre til den ønskede hjemmeside efter 2 sekunder.

Det har tidligere foregået med <meta>-refresh metoden. Men vi fandts så ud af at HTTP_REFERER ikke kommer med når det sker via Internet Explorer. FireFox og Safari kommer den med over.

Problematikken er at nogen af de hjemmeside vi linker til bruger firmaer som TradeDoubler og Zanox etc. etc. Og hos Zanox registerer de ikke vores klik, hvis HTTP_REFERER ikke er med.

Og det er selvfølgelig vigtigt for os at alle kliks bliver registreret, så vi kan få kommision og dermed blive ved med at drive sitet.

Og jeg har så kastet mig ud i nogen mulige løsninger:

Jeg har lavet en side til at modtage, som printer HTTP_REFERER og en variabel som kommer med over.

in.php
------------
<?php
echo("Referer: '".$_SERVER['HTTP_REFERER']."'<br>");
echo("Variabel: test='".$_GET['test']."'");
?>
------------

Derudover har jeg lavet forskellige metoder til at automatisk sende en bruger videre:

out1.php
------------
<html><head>
<script type="text/javascript">
function init() {
  document.getElementById('redirForm').submit();
}
</script>
</head><body onload="setTimeout('init()',2000);">
<form id="redirForm" action="in.php?test=lagkage" method="GET"></form>
</body></html>
------------

out2.php
------------
<html><head>
<script type="text/javascript">
function init() {
  document.getElementById('redirForm').click();
}
</script>
</head><body onload="setTimeout('init()',2000);">
<a id="redirForm" href="in.php?test=lagkage">klik ikke her</a>
</body>
</html>
------------

out1.php
  IE: Redirect virker, HTTP_REFERER kommer med, men variablen kommer ikke med
  FF: Redirect virker, HTTP_REFERER kommer med, men variablen kommer ikke med

out2.php
  IE: Redirect virker, HTTP_REFERER kommer med og variablen kommer også med
  FF: Virker ikke, får en fejl om at click() ikke er en funktion


Vidste ikke lige hvilken kategori det her spørgsmål var mest passende i..
Avatar billede phliplip Nybegynder
09. november 2006 - 16:24 #1
Fand frem til at denne virker:

out3.php
-----------
<html><head>
<script type="text/javascript">
function init() {
  var elm = document.getElementById('redirForm');
  if(elm.click) {
    elm.click();
  } else {
    window.location.replace(elm.href);
  }
}
</script>
</head><body onload="setTimeout('init()',2000);">
<a id="redirForm" href="in.php?test=lagkage">klik ikke her</a>
</body>
</html>
----------
Avatar billede phliplip Nybegynder
09. november 2006 - 16:25 #2
Den virker i IE, FF og Safari.

Er der nogen der har bedre mere universale løsninger så høre jeg gerne fra jer!
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