phpbar.de logo

Mailinglisten-Archive

[php] onMousedown Counter

[php] onMousedown Counter

Daniel.Eichten_(at)_LAB.de Daniel.Eichten_(at)_LAB.de
Wed, 5 Apr 2000 10:23:34 +0200


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