Hej Xeno
Jeg har testet det på min maskine og der virker det ganske fortrinligt. Jeg har lavet følgende konstruktion så du får opdateret dine clicks rigtigt:
Det er opbygget af 2 sider (det kan muligvis gøres smartere, men sådan i farten fungerer det ihvertfald)
Side1: Banner.php
<html>
<head>
<title></title>
</head>
<body>
<?
mysql_connect(\"localhost\",\"\",\"\");
mysql_select_db(\"test_1\");
$sql=\"select * from banner where shown<maxshow\";
$result=mysql_query($sql);
$antal=mysql_num_rows($result);
mt_srand((double)microtime()*1000000);
if ($antal==0)
{
echo \"Der er ikke nogle ledige bannere\";
}
else
{
if ($antal==1)
{
$r=0;
}
else
{
$r=mt_rand(0,$antal-1);
}
$urlpic=mysql_result($result,$r,\"urlpic\");
$urlgoto=mysql_result($result,$r,\"urlgoto\");
$id=mysql_result($result,$r,\"id\");
$sql=\"update banner set shown=shown+1 where id=$id\";
mysql_query($sql);
echo \"<form action=\'PHPbannerframe.php\' name=\'urlgotoform\'>\";
echo \"<input type=image src=$urlpic>\";
echo \"<input type=hidden name=\'ID\' value=$id>\";
echo \"<input type=hidden name=\'urlgoto\' value=$urlgoto>\";
echo \"</form>\";
}
?>
</body>
</html>
Side 2: Frame.php
<html>
<head>
<title></title>
<?
mysql_connect(\"localhost\",\"\",\"\");
mysql_select_db(\"test_1\");
$sql1=\"update banner set clicks=clicks+1 where id=$ID\";
mysql_query($sql1);
?>
</head>
<FRAMESET name=\"frame\" COLS=\"*\">
<frame src=\"<?echo $urlgoto;?>\" name=\"urlgoto\" id=\"urlgoto\" frameborder=\"0\" scrolling=\"Auto\">
</frameset>
</html>
Dermed får du opdateret dine cliks når der bliver trykket på banneret og kun der. Om end det måske ikke er den færdige løsning kan det måske give dig nogle ideer. Det er testet og virker fint hos mig.
(Jeg har fjernet \"
http://\" adresserne, men dem kan du jo bare sætte ind igen)
Mads