PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Klick Zähler



Oliver
05.06.2005, 10:19
Hi

Kann mir mal einer sagen wie man einen klickzähler erstellt oder sowas.
Einer der in meiner signatur funktioniert und die klicks auf einen bestimmten link zählt!

^^ich hoffe ihr könnt mir helfen ...klar könnt in das!

mfg Oliver

Orkkrieger
05.06.2005, 10:56
in deiner sig wird das wahrscheinlich nich funktionieren, es sei denn du hängst ein php-bild in deine sig^^

egal, ich hab mir einen klickcounter für meine hp geschrieben, ich poste den code hier einfach mal:



<?php

include ('inc/mysql_data.inc.php');

mysql_connect($db_host, $db_user, $db_pass) OR die("Es trat folgender Fehler auf".mysql_error());

mysql_select_db($db_name) OR die("Es trat folgender Fehler auf".mysql_error());

if(!isset($_GET['id']))
{
echo "Weiterleitung nicht möglich, es wurde keine Link-ID angegeben. Bitte nutzen sie den ZURÜCK Button ihres Browsers um zur vorigen Seite zurückzukehren. Sollte ein Fehler auf der Seite vorliegen, so kontaktieren sie bitte den Administrator";
}
else
{
$result = mysql_query('SELECT COUNT(`ID`) AS count FROM `links` WHERE `ID` = '.$_GET['id']);
$link = mysql_fetch_array($result);

if($link[count] == 0)
{
echo "Fehlerhafte Link-ID, bitte kontaktrieren sie den Administrator, wenn ein Programmierfehler vorliegt.";
}
else
{
mysql_query('UPDATE `links` SET `Klicks` = `Klicks` + 1 WHERE `ID` = '.$_GET['id']);
$res = mysql_query('SELECT `URL` FROM `links` WHERE `ID` = '.$_GET['id']);
$weiterleitung = mysql_fetch_array($res);

header('Location: '.$weiterleitung['URL']);
}
}
mysql_close();

?>


prinzip geht folgendermaßen...

ich übergebe die link id über GET und schaue dann nach ob in meiner datenbank ein link mit folgender id vorhanden ist.
wenn nicht, dann wird ein fehler ausgegeben, weil man ja nich zu einem link weiterleiten kann, der nich existiert nich wahr.
so, sollte der link doch vorhanden sein, was er hoffentlich ist, so wird das feld "klicks" in der mysql tabelle aktualisiert und um einen punkt erhöht.
als letztes hole ich mir dann die url, zu der der link führen soll aus der datenbank und leite zu diesem weiter ;)
sollte eigentlich recht verständlich sein

Oliver
05.06.2005, 13:32
danke aber erklär mir das mal mit php-bild!

Orkkrieger
05.06.2005, 14:04
war schwachsinn^^

das würde nur sinn machen, wenn du vorhast IN deiner sig anzuzeigen wieviele klicks du schon hast.

ansonsten kannst du einfach dein banner über das script das ich gepostet habe weiterleiten lassen und so die klicks irgendwo anders zählen lassen...

hier in der sig wäre das umständlicher, weil man das bild per php generieren müsste, um eine variable anzeige einzubauen.

aber davon versteh ich nix^^

Oliver
05.06.2005, 14:07
war schwachsinn^^

das würde nur sinn machen, wenn du vorhast IN deiner sig anzuzeigen wieviele klicks du schon hast.


genau so wollte ichs gerne machen!

Rolus
05.06.2005, 14:23
genau so wollte ichs gerne machen!
Hm, hier mal mein Grundgerüst eines einfachen PHP-Bildes:

<?
header("Content-type: image/png"); // PNG-Bild

$im = imagecreate(100, 100); // 100x100 Pixel
$background_color = imagecolorallocate($im, 0, 0, 0); // Hintergrund -> schwarz
$text_color = imagecolorallocate($im, 255, 255, 255); // Textfarbe -> weiß

imagestring($im, 2, 3, 1, "test", $text_color); // "test" ausgeben
// die drei Zahlen stehen für:
// Schriftgröße, X-Koord, Y-Koord.

imageColortransparent($im,$background_color); // Hintergrund transparent machen

imagepng($im); // Bild erzeugen
imagedestroy($im); // und wieder freigeben
?>
Da wird 'test' auf transparentam Hintergrund ausgegeben. Für "test" kannst du natürlich auch irgendeine Variable nehmen, die du gerade aus eine MySql Datenbank gelesen hast oder so (musst das Skript also nur entsprechend verändern).

freundliche Grüße, Rolus

Oliver
05.06.2005, 14:28
o_O danke