php, codeschnipsel, php beispielen
[Code] Klicks auf Werbebanner zählen
   

Main
Home
Fachbuecher
Support Board
Webmaster News
Script Newsletter
Kontakt
Script Installation
Php
Php Tutorials
Impressum

Userbereich
kostenlos Anmelden
Memberliste
Login

Script Datenbank
Script Übersicht
Script eintragen
Script Top 20

Suche

 
Script Seite



Unsere Php Scripts
Counter Script
Umfrage Script
Bilder Upload Script

Script Mods
phpBB Adsense Mod

Tools und Generatoren
.htpasswd Generatoren
md5 Generatoren
base64 Generatoren
ICQ Generatoren
Colorpicker
Unix timestamp Tool
tdl Liste
Webkatalog Verzeichnis

Partner
Sprüche Treff
weiter Partner

Hosterplus.de
Bekommen Sie Webspace, Domains und Rootserver m..


clichehosting..
Webhoster mit recht einfachen Angeboten.


weitere Anbieter

RSS Webmaster Newsfeed von Php Space RSS Webmaster Newsfeed
RSS Script Newsfeed von Php Space RSS Script Newsfeed

Statistik
15 Gäste Online
0 Member Online
644 Besucher heute

 

[Code] Klicks auf Werbebanner zählen

Sie befinden sich: Home > Webmaster News

Wir wollen ein kleines Script entwickeln, mit dem wir Werbebanner auf unseren Seiten zufällig ausgeben lassen.

Werbende Firmen geben uns den Bannercode ja immer vor, der in der Regel so aussieht:

<a href='http://abc.com?code=xyz'><img src='http://abc.com/banner.jpg' width='468' height='60' border='0'></a>

Wir bauen uns zunächt eine kleine Tabelle "werb" mit folgendem Aufbau:

CREATE TABLE `werb` (
`lfd` int(10) unsigned NOT NULL auto_increment,
`aktiv` set('ja','nein') NOT NULL default '',
`banner` varchar(255) NOT NULL default '',
`link` varchar(255) NOT NULL default '',
`angezeigt` int(10) unsigned NOT NULL default '0',
`geklickt` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`lfd`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Und tragen unsere vorhandenen Bannercodes hier mit phpMyAdmin wie folgt ein:

`lfd` wird von MySql automatisch bei jedem neuen Eintrag immer um 1 erhöht. Hier muss nichts eingefügt werden.

Bei `aktiv` schalten wir die Banner, die angezeigt werden sollen auf 'ja'. Wenn wir einen Banner ausschließen bzw. deaktivieren möchten, dann stellen wir das Feld um auf 'nein'.

In das Feld `banner` kommt nur der Code zur Anzeige des Banners. In unserem Beispiel ist das:

'http://abc.com/banner.jpg' width='468' height='60' border='0' (erstes Hochkomma nicht vergessen)

Anmerkung: Falls unsere Datenfelder durch Usereingaben gefüllt würden, so würden wir den Code mit

mysql_real_escape_string() entschärfen. Da wir hier aber alle Eingaben selbst machen, lassen wir alles original stehen.

In das Feld `link` tragen wir nur den Link-Teil des Bannercodes ein:

http://abc.com?code=xyz

Die Felder `angezeigt` und `geklickt` sollen später zählen, wie oft der Banner auf unseren Seiten angezeigt wurde, und wie oft Besucher auf ihn geklickt haben. Unsere Werbepartner stellen uns ähnliche Auswertungen ja auch zur Verfügung.

Unsere Zahlen werden von den fremden Statistiken abweichen; die Unterschiede sollten aber nur gering sein.

Wenn unser geplantes Script den Bannercode aus der Datenbank holt, dann kann es zugleich den Zähler `angezeigt` hochzählen. Dieser Teil unserer Statistik bereitet also kein Problem. Wenn ein Besucher aber auf den Original-Link

http://abc.com?code=xyz

klickt, dann ist er von unserer Seite verschwunden und es gibt nichts zu zählen. Wir müssen den Link also auf ein Zählscript umleiten, den Klick zählen, und den Besucher dann zur Zielseite weiterleiten.

Wir nennen dies Zählscript "klick.php" und steuern es an mit dem Parameter nr. Der Aufruf für die Tabellenzeile mit lfd = 1 lautet dann also: klick.php?nr=1


<?php
// klick.php

// Zu MySql verbinden
include "connect.php"

// Übergebenen Parameter prüfen
$fehler true;
if(!empty(
$_GET['nr'])) {
$lfd $_GET[nr];
if(
is_numeric($lfdAND $lfd>0$fehler false
}

// Fehler festgestellt
if($fehlerdie("Falscher Programmaufruf");

// Link ermitteln
$sql "SELECT link FROM werb WHERE lfd '$lfd'";
$erg=mysql_query($sql);

// Was gefunden?
if(!mysql_num_rows($erg)) {
die(
"Falscher Programmaufruf");


$row=mysql_fetch_array($erg,MYSQL_ASSOC);
$link $row['link'];

// Zählen
$upd "UPDATE werb SET geklickt geklickt WHERE lfd '$lfd'";
mysql_query($updor die(mysql_error());

// Und tschüss

header("Location:$link");
?>

Wir können das Script durch Direktaufruf mit einer existierenden Zeilennummer testen und können uns nun an das Script machen, das einen Banner auswählt und anzeigt.

Wir speichern dies unter dem Namen "banner_anzeigen.php".


<?php
// banner_anzeigen.php
// Verbindung zur Datenbank muss schon hergestellt sein

// Zufälligen Banner auswählen
$sql "SELECT lfd,banner FROM werb ORDER BY rand() LIMIT 1";
$erg=mysql_query($sql);
$row=mysql_fetch_array($erg,MYSQL_ASSOC);
$lfd $row['lfd'];
$banner $row['banner'];

// Zählen
$upd "UPDATE werb SET angezeigt angezeigt WHERE lfd '$lfd'";
mysql_query($updor die(mysql_error());

// Bannercode ausgeben
$bannercode "<a href='klick.php?nr=$lfd'><img src=$banner ></a>";
echo 
$bannercode;
?>



(Quelle: Wolfgang ), Eingetragen am 20.June.2008




Ähnliche News

27.08.2008 - [Code] Zaehlen, wie häufig ein Wort in einem ...
27.08.2008 - [code] Passwörter mit md5 verschlüsselt ...
26.08.2008 - [Code] Banner ausliefern mit PHP (fpassthru)
26.08.2008 - [Code] Banner ausliefern und pro Linkpartner z&aum...
29.07.2008 - [Tipp] 404-Fehler mit .htaccess abfangen

Letzten Webmaster News

29.08.2008 - [Tutorial] Verbindung zu MySql und Auswahl einer D...
28.08.2008 - [TIPP] PHP code lesbar gestaltet
28.08.2008 - [Tutorial] Arbeiten mit Unix-Zeitstempeln, date(),...
27.08.2008 - [Code] Zaehlen, wie häufig ein Wort in einem ...
27.08.2008 - [code] Passwörter mit md5 verschlüsselt ...







  Anzeige 

 
 
Webhosting Service | Board Features