Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zliczanie klikow w link - jak zrobic?
Forum PHP.pl > Forum > Przedszkole
holee
Jak zrobic aby zliczane byly klikniecia w link i wyswietlane to bylo obok?
Oczywiscie na plikach tekstowych mi chodzi.
Ktos klika w jeden link obok pojawia sie jeden, drugi raz poawia sie dwa (po prostu zlicza),
klikajac w drugi zlicza osobno obok klikniecia w drugi link
Pele
Witaj,
  1. <?php
  2. $download = &#092;"$dn\"; //zmienna zawierająca nazwę pliku
  3. if (file_exists(&#092;"liczniki/$dn.n\")){ //sprawdzamy czy plik istnieje
  4.  
  5. //początek licznika
  6.  
  7. $file=fopen(&#092;"liczniki/$dn.n\", \"r\");//jeśli tak otwieramy licznik i doliczamy kliknięcie
  8. flock($file, 1);
  9. $cyfra=fgets($file, 100);
  10. flock($file, 3);
  11. fclose($file);
  12. $cyfra++;
  13.  
  14. $file=fopen(&#092;"liczniki/$dn.n\", \"w\");
  15. flock($file, 2);
  16. fwrite($file, $cyfra);
  17. flock($file, 3);
  18. fclose($file);
  19.  
  20. //koniec licznika
  21.  
  22. header(&#092;"Location: $download\");//wysłanie do przeglądarki informacji o lokalizacji pliku
  23. }
  24. else { //jeśli plik licznika nie istnieje zostanie założony z liczbą 1
  25. $file=fopen(&#092;"liczniki/$dn.n\", \"w\");
  26. flock($file, 2);
  27. fwrite($file, &#092;"1\");
  28. flock($file, 3);
  29. fclose($file);
  30.  
  31. header(&#092;"Location: $download\");//wysłanie do przeglądarki informacji o lokalizacji pliku
  32. }
  33. ?>

Utwórz plik dn.php3 i wklej tam ten kod (wstaw plik tam gdzie są zip'y) ponadto utwórz katalog o nazwie liczniki (w katalogu z zip'ami) i nadaj mu prawa chmod 777 (pliki w nim muszą mieć taką samą nazwe co zip'y poza tym katalogiem przykładowa nazwa pliku. <b>nazwazipa.zip.n</b>)
Link do pliku wygląda tak:
  1. <?php
  2. <a href=dn.php3?dn=nazwazipa.zip>Pobierz</a><BR>Ilość ściągnięć: <? include(&#092;"liczniki/nazwazipa.zip.n\"); ?>
  3.  
  4. ?>
holee
Ale mi chodzi o licznik do linka http
czyli prowadzacego do jakiejs strony np. http://www.php.pl
Pele
Ah, sory, musiałem źle przeczytać... :|
Ale na podstawie tego kodu powinieneś sobie poradzić z takim licznikiem ;]
hwao
[php:1:40833bbd70]<?php

function SprawdzString($arg, $arg2)
{
$foo = file($arg);
$ile=0;
for($t=0;$t<count($foo);$t++)
{
$ex1 = explode('||',$foo[$t]);
if($ex1[0]==$arg2)
{

$ex=explode('||',$foo[$ile]);
$ex[1]=$ex[1]+1;
$foo[$ile]=implode('||',$ex);
$file=fopen($arg,'w');

fwrite($file,join('',$foo));
fclose($file);
break;
};
$ile++;
};
};
print SprawdzString('dane.txt',$_GET['id']);
?>[/php:1:40833bbd70]
To mniej wiecej powinno tak dzialac
holee
Okej dzieki.
A link ma wygladac nastepujaco ... questionmark.gif
Ja jestem zielony, sami wiecie
hwao
$_GET['id'] czyli
strona.php?id=www.php.pl
holee
No dobra zrobilem jak napisales.
Ale zamiast danej strony ktora chce wyswietlic pojawia mi sie strona cala w bieli (czyt. pusta).
Co jest nie tak??
hwao
[php:1:8e7f58b1bb]<?php

function SprawdzString($arg, $arg2)
{
$foo = file($arg);
$ile=0;
for($t=0;$t<count($foo);$t++)
{
$ex1 = explode('||',$foo[$t]);
if($ex1[0]==$arg2)
{

$ex=explode('||',$foo[$ile]);
$ex[1]=$ex[1]+1;
$foo[$ile]=implode('||',$ex);
$file=fopen($arg,'w');

fwrite($file,join('',$foo));
fclose($file);
break;
};
$ile++;
};
header( 'location: '. $_GET['id'] );
exit;
};
print SprawdzString('dane.txt',$_GET['id']);

?>[/php:1:8e7f58b1bb]
holee
Nie wiem czy to dobrze wytlumacze, ale:
Zamiast otworzyc mi sie dana strona np. www.php.pl
to:
otwiera mi sie strona do katalogu nie do pliku tzn.
http://localhost/pliki
i to wszystko, a powinno byc
http://localhost/pliki/link.php?id=http://www.php.pl

Mam nadzieje ze ktos to skuma.
stoprocent
Ale link ktory doda punkt i przeniesie ci na strone powinien wygladac tak :

<a href="http://localhost/pliki/link.php?id=http://www.php.pl">www.php.pl</a>

i tak samo z reszta tylko to co jest po ?id= zamieniasz innym adresem .
mam nadzije ze oto ci chodzi
holee
Tak, tak wiem.
Ale to nie rozwiazuje mojego problemu.
hwao
OJ!
Prosze zaczosc uzywac mozgu smile.gif
  1. <?php
  2.  header( 'location: JakaśStronaPHP.php?id= '. $_GET['id'] ); 
  3. ?>

Prosze
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.