Mailinglisten-Archive |
Hallo Flatliner
<snip>
<A href="http://<? echo $row[url];?>" onMousedown="<?jump()?>"
target=_blank><? echo $row[url];?></A>
function jump() {
mysql_query("UPDATE webjet SET click='$row[ID]++' WHERE ID='$row[ID]'");
require("footer.php3");
exit;
}
Mein Hauptproblem ist wohl eine PHP3 Funktion mit dem onMousedown
aufzurufen, gibt es dort eine Syntax?
<snip>
Ich muss Dich leider enttäuschen. Der Event-Handler "onMouseDown" ist
JavaScript, das heisst er wird ausgeführt, wenn die Seite beim
Betrachter im Browser angezeigt wird. Dann ist aber das PHP-Skript lägst
ausgführt, da es auf dem Server läuft. Entschuldige bitte, das ich das
so hart sage, aber das ist ein typischer Anfängerfehler, Server und
Client-Seitige Skripte zu vermischen.
Lösung:
Du schreibst dein Skript um, sodaß es statt einer Url eine ID augibt:
<a href="counter_hochsetzen_und_weiterleiten.php3?urlid=<? echo $urlid;
?>"><? echo $url ?></a>
Im Skript "counter_hochsetzen_und_weiterleiten.php3" Solltest du jetzt
eine Variable namens $urlid mit dem entsprechenden Wert haben. Jetzt
kannst Du den Counter hochsetzen, und den User weiterleiten, ungefähr
so:
mysql_query("UPDATE table SET counter=counter+1 WHERE id=$urlid");
$res_id = mysql_query("SELECT url FROM table WHERE id=$urlid");
list($url) = mysql_fetch_row($res_id);
Header("Location: $url");
?>
Solange Du sonst nichts an den Bildschirm ausgibst, wird der User für
ihn unsichtbar weitergeleitet.
HTH
Daniel
php::bar PHP Wiki - Listenarchive