Hallo Marco!
Schon mal schön zu sehen, daß jemand, der php nutzt, JS nicht abgeneigt ist ;)
<script language="JavaScript">
location.href="<?echo $url;?>";
self.close();
</script>
Das sollte für gewöhnlich mit einer unerwünscht zusätzlichen Abfrage des Users durch den Browser quittiert werden.
Ich hätte da eine nicht 100%ige Lösung:
Setze ein Frameset ein:
<html>
<frameset cols="*,0">
<frame src="meine_e-mailadresse.htm">
<frame src="leere_seite.htm" name="count">
</frameset>
</html>
meine_e-mailadresse.htm:
<html>
<head>
<script>
function zaehler()
{
parent.count.location.href="counter.php"
}
</script>
</head>
<body>
<a href="mailto:hallo@duda.de" onClick="zaehler()">hallo@duda.de</a>
</body>
</html>
counter.php:
<?php
$d="0.inc";
if(file_exists($d))
{
$i=include($d);
$i+=1;
else
{
touch($d); //induziert sich seinen Speicher selbst
$i=1;
}
$s=fopen($d,w);
fputs($s,"<?php $i=$i; return($i); ?>");
fclose($s);
?>
Das ganze ist zwar nur kurz zusammengeschustern und ich habe es nicht mehr laufenlassen (bitte mal sebst debuggen).
Anmerkung:
Leider schützt Dich dies nicht vor deaktivierten JS noch vor mehrfachen Clicks auf den Link durch einen User. Dazu müstest Du dann die einzelnen IPs abspeichen und die letzte (oder besser die letzten 2-5) per Auslesen dieser und Vergleich mit einem neuen Request if-else-bedingt auswerten.
Gruß aus Berlin!
eddi