Licznik kliknięć w banner

php code programming response code Licznik kliknięć w banner
4/5 - (1 vote)

Autor: Marek „cezi” Celarek

Przykład ten pokazuje jak napisać prosty skrypt, który zlicza kliknięcia w banner. Do prawidłowego działania skryptu potrzebne jest utworzenie pliku counter.txt lub jakiegokolwiek innego. W tym pliku będą przechowywane kliknięcia.

<? 
if(file_exists("counter.txt")){ 
$file=fopen("counter.txt","r"); 
$licznik=chop(fgets($file,100)); 
$licznik++; 
fclose($file); 
$file=fopen("counter.txt","w"); 
fwrite($file,$licznik); 
fclose($file); 
} 
else{$file=fopen("counter.txt","w"); 
fwrite($file,"1"); 
fclose($file); 
} 
header("location:  http://www.cezi.prv.pl"); 
?> 

Zapisujemy np. jako click.php.

Linkujesz:

<a  href=click.php><img  [...]></a> 

Ten przykład będzie działał dla jednego bannera. Co zrobić, jeśli chcesz połączyć 5-10 bannerów i co za tym idzie, gdy ich adresy będą różne ?
Można to zrobić w ten sposób:

Przykład linkowania:

<a  href=click.php?url=www.cezi.prv.pl><img  [...]></a> 

Skrypt będzie wyglądał nieco inaczej tzn. nazwy plików będą generowane przez zmienna $url.

W tym przypadku nazwa pliku będzie taka: www.cezi.prv.pl.txt

<? 
if(file_exists("$url.txt")){ 
$file=fopen("$url.txt","r"); 
$licznik=chop(fgets($file,100)); 
$licznik++; 
fclose($file); 
$file=fopen("$url.txt","w"); 
fwrite($file,$licznik); 
fclose($file); 
} 
else{$file=fopen("$url.txt","w"); 
fwrite($file,"1"); 
fclose($file); 
} 
header("location:  http://$url"); 
?>

Teraz wystarczy linkować w podobny sposób.

<a href=click.php?url=www.pajaczek.pl><img [...]></a> 
<a href=click.php?url=www.cezi.prv.pl><img [...]></a> 
<a href=click.php?url=www.wp.pl><img [...]></a> 
itd...

W wersji PHP > 4 i wyższych rejestrowanie zmiennych globalnych jest domyślnie ustawione na OFF (wyłączone) – możesz to sprawdzić przesyłając na serwer taki kod:

<? phpinfo(); ?> 

Jeśli masz na On to wszystkie zmienne globalne tzn. ciasteczka, zmienne systemowe, zmienne z tablicy POST oraz GET tak samo jak i sesje są widziane pomiędzy stronami. Natomiast jeśli admin dla zwiększenia nieco bezpieczeństwa i uświadomienia użytkownika, wyłączy tę funkcję, okazuje się, że trzeba pamiętać, skąd jest zmienna.
Więc $ciacho to teraz $HTTP_COOKIE_VARS[’ciacho’]

Analogicznie z polami formularza przesłanymi metoda post ( $HTTP_POST_VARS[’poleformularza’] )
czy get ( $HTTP_GET_VARS[’poleformularza’] ) lub $_POST[’zmienna’]; czy $_GET[’zmienna’];

Czyli w naszym przykładzie na samym początku piszesz:

$url=$_GET['url'] 

Przy okazji tego artykułu wytłumaczyłem zasadę przesyłania zmiennych. Kończąc dopiszę jeszcze to, że można nasze wartości trzymane w plikach posortować i zrobić taką małą tablice statystyczną. Jeśli chodzi o bannery Flash, to w akcji kliknięcia podać należy url do pliku click.php.

Nauczycielem, to chyba nie zostanę, ale myślę że wszystko zrozumiałe.

Pozdrawiam,
Marek „cezi” Celarek

2 komentarze

  1. szuman

    jakbyś poćwiczył z kimś przekazywanie wiedzy na czas, to i nauczyciel by z Ciebie był 🙂 Dzięki za how-to.

  2. Krzysztof

    a co z unikalnymi kliknięciami?

Skomentujesz?

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Administratorem Twoich danych osobowych będzie Rafał Płatek, prowadzący działalność gospodarczą pod firmą CREAM.SOFTWARE RAFAŁ PŁATEK, wpisaną do rejestru ewidencji gospodarczej CEiDG pod numerem NIP 681-112-89-55. Szczegóły związane z przetwarzaniem danych osobowych znajdziesz w polityce prywatności.