Klicks zählen

PhoenixDH

Erfahrenes Mitglied
Habe meine Toplist jetzt fertig und möchte gerne noch die Klicks zählen die auf eine URL gemacht werden. Diese sollen dann in eine Datenbank geschrieben werden (SQL) !

Der Link ist ganz normal, und sollte auch so bleiben, also kein id=... oder so !

Ist es auf diese Weise möglich die Klicks zu zählen !

Die Toplist sieht so aus: Bsp
 
Ich hab hier mehrere Lösungsansätze aber ich werd die jetzt nich alle aufzählen. Schon mal im groben Gedanken darüber gemacht wie dus anstellen würdest?
 
Ja, ich habe irgendwie gedacht, das wenn man den Link anklickt auf eine Weiterleitungsseite kommt und auf der dann der Wert erhöht weird !
 
PhoenixDH hat gesagt.:
Ist es auf diese Weise möglich die Klicks zu zählen !

Was meinst du denn? Mit was sind denn die anderen Toplists gemacht?

PhoenixDH hat gesagt.:
Ja, ich habe irgendwie gedacht, das wenn man den Link anklickt auf eine Weiterleitungsseite kommt und auf der dann der Wert erhöht weird !

Und wo ist da das Problem? Du musst schon hier deine Probleme reinschreiben und nicht auf ein fertiges Script warten.

mfg
DarkManX
 
Ok, die Problem:

Mit was muss ich den Link versehene, damit die Weiterleitungsseite geöffnen wird, mit onclick oder was ? Kann ich mit onklick eine php Funktion aufrufen ? Es liegt wie gesagt ein ganz normaler Link vor, und den wollte ich auch so belassen !

Und in der Funktion zum Weiterleiten muss dann auch die Anzahl der klicks erhöht werden oder ?
 
Also ich habe zwar nicht wirklich verstanden wo das Problem ist, aber wieso führst Du nicht ganz einfach alle Links aus wie immer und wenn Du eine Seite betrittst, dann steht da als erstes eine PHP Funktion, die den Wert in der Datenbank (oder der Datei mit den Klicks oder was auch immer) um 1 erhöht.

redlama :suspekt:
 
Es geht nicht anders, du muss den Link verändern.
Entweder du lädst eine neue Seite und sagst "Weiterleitung erfolgt..." während du einen zum Klick-Feld hinzuaddierst und danach ein meta-refresh auf den Link machst oder du machst keine weiteren Ausgaben und sendest via PHP einen Header: Location nachdem du geadded hast.

mfg
 
redlama hat gesagt.:
Also ich habe zwar nicht wirklich verstanden wo das Problem ist, aber wieso führst Du nicht ganz einfach alle Links aus wie immer und wenn Du eine Seite betrittst, dann steht da als erstes eine PHP Funktion, die den Wert in der Datenbank (oder der Datei mit den Klicks oder was auch immer) um 1 erhöht.

redlama :suspekt:


So ähnlich würd ichs machen:
Wenn du auf den link klickst wird eine neue zwischenseite geöffnet, z.b. http://www.toplist.de/deineweiterleitungsseite.php?target=2323

wobei 2323 für eine ID steht, dann brauchst du nur noch eine mySQL DB, dort sind alle Pages aus der Toplist mit einer eindeutigen ID (00001, 00002 usw.) sowie ein Klick- Counter eingetragen, d.h. du hast folgende Tabelle:

ID | Link | Klicks | Banner (o.Ä.)
--------------------------------------------------------------------------------------------------------------
00001 | http://www.komischeseite.de | 500 | http....jpg
00002 | http:/zweitekomischeseite.de | 600 | http...gif
....



die Toplist wird dann einfach via Mysql ausgelesen (SELECT * FROM tabelle ORDER BY Klicks DESC limit 50) o.Ä. dann wird eben für jede Seite ein link erstellt (foreach) der dann jeweils zu der weiterleitungsseite führt und die variable ID übergibt... auf der Weiterleitungsseite wird dann Klicks ausgelesen um eins erhöht und wieder reingeschrieben, die Zielseite zur ID wird ausgelesen und mit automatischer Weiterleitung wird dann die Zielseite aufgerufen...
 
So, ich wollte jetzt erst mal die weiterleitung programmieren, welche wenn man auf den Link klickt sich in einem neuen Fesnter öffnet ! Aber ledider passiert gar nichts !

Der Code:
Aufruf:
PHP:
      $toplist['siteurl'] = '<a href="javascript:onclick=toplist_message_redirect(\''.$toplist['siteurl'].'\');" "target="_blank">'.$toplist['siteurl'].'</a>';

die Funktion:
PHP:
function toplist_message_redirect($url)
{
	global $style;

	$TToplistRedirect = new Template('templates/' . $style['styletemplate'] . '/toplistredirect.html');
	eval($TToplistRedirect->GetTemplate());
	
	exit;
}

und die Datei die neu geöffnet wird (template)
PHP:
<html>
<head>
<title>Bitte warten ...</title>
<meta http-equiv="Refresh" content="1; URL=_('$url')">
<style type="text/css">
body {
	background-color: $style[colorbg];
	color:$style[color1];
}

.cella {
	background-color: $style[CellA];
       }
  a:link         { color:$style[col_link]; text-decoration: none }
  a:visited      { color:$style[col_link_v]; text-decoration: none }
  a:active       { color:$style[col_link]; text-decoration: none }
  a:hover        { color:$style[col_link_hover]; text-decoration: none }

.stdfont { font-family: $style[font]; font-size: 10pt }
.smallfont { font-family: $style[font]; font-size: 8pt }
</style>
</head>

<body bgcolor="$style[colorbg]" text="$style[color1]">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="500">
  <tr>
    <td align="center" valign="middle">
      <table width="100%" height="64" border="0" cellspacing="1" cellpadding="3" bgcolor="$style[border_col]">
        <tr class="cella">
          <td align="center">$style[stdfont]<b>Sie werden weitergeleitet ...</b><br>$style[stdfontend]$style[smallfont]
            <a href="_('$url')">Klicken Sie hier, falls ihr Browser keine automatische 
             Weiterleitung unterst&uuml;tzt.</a>$style[smallfontend]</td>
        </tr>
      </table>
    </td>
  </tr>
</table>
</body>
</html>

Wie gesagt es passiert überhaupt nichts !
 
Zurück