Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP][php/mysql] Licznik kliknięć
Forum PHP.pl > Forum > Przedszkole
busyboy
Witam Serdecznie

Proszę o pomoc w kwestii licznika kliknięć – ma w bazie pole link w którym jest podany adres do zewnętrznego serwera np. http://download.microsoft.com/download/a/c...935-SP2-PLK.exe drugie pole to licznik określający ilość pobrań. Na stronie mam obrazek - pobierz – który po kliknięciu oprócz pobierania ma również zliczać ilość pobrań pliku – w jaki sposób to zrobić ? jakieś wskazówki ? przykłady ?

Pozdrawiam
BusyBoy
Eternal Soul Harvester
Odnośnik do pobrania ---> skrypt PHP (nalicza kliknięcie + header('Location: plik') ----> user ściąga plik.
Lion_87
yyy MySQL->UPDATE?
Fifi209
Po kliknięciu odpalaj skrypt php, który wykona pracę na mysql a dodatkowo wyrzuci plik do przeglądarki, odpowiednie nagłówki (header) i readfile
busyboy
A moge prosic o jakis przyklad ?
Eternal Soul Harvester
download.html
  1. <a href="download.php" alt="Sciagnij plik">Sciągnij plik!</a>


download.php
  1. <?php
  2. dodaj_klikniecie();
  3. header('Location: plik.exe');


dodaj_klikniecie() dopisuje licznik w bazie +1.
busyboy
A czy - header('Location: plik.exe'); - nie powinien byc na poczatku ? bo jak jest na koncu wywala blad ?
Fifi209
Skorzystaj z tego co ja podałem - jest taka różnica, że użytkownik nie będzie znał prawdziwego adresu pliku co w przypadku zliczania kliknięć ma sens.
busyboy
Mam cos takiego i wywala mi blad sad.gif

  1. <?
  2. require('funkcje.php');
  3. lacz_baza();
  4. $licznik = mysql_query("UPDATE programy SET ile=ile+1 WHERE id_prog='".$_GET['co']."'");
  5. header('Location: plik.exe');
  6. ?>
Fifi209
Wiesz co, bez błędu jest ciężko powiedzieć co dolega... ;[
W dodatku pisałem coś w poście wyżej, jednak nie raczyłeś się zastosować.
busyboy
Informacja o bledzie -
Warning: Cannot modify header information - headers already sent by (output started at......

Moze cos wyjasnij w tej kwestii ....
konole
przy używaniu header nie masz prawa wcześniej niczego wyświetlić z htmla, sprawdź, czy przypadkiem nie robi tego funkcje.php
busyboy
Ok jak wywalilem wszystko przed header to dzial i przekierowuje ale jak mam zrobil dodawanie do bazy wartosci licznika po header ? przekieruje mi na ten link a potem juz nic nie wykona ?
Fifi209
Cytat(busyboy @ 29.03.2011, 21:56:54 ) *
Ok jak wywalilem wszystko przed header to dzial i przekierowuje ale jak mam zrobil dodawanie do bazy wartosci licznika po header ? przekieruje mi na ten link a potem juz nic nie wykona ?

Daj header pod dodawaniem do bazy?
busyboy
Jak dam header po dodaniu do bazy to pojawia sie blad - Warning: Cannot modify header information - headers already sent by.

Taki ma kod

  1. <?
  2. require('funkcje.php');
  3. lacz_baza();
  4. $licznik = mysql_query("UPDATE programy SET ile=ile+1 WHERE id_prog='".$_GET['co']."'");
  5. header('Location: <a href="http://download.microsoft.com/download/8/1/4/814a9d5f-54e0-43ee-b1b5-5509101f3e7b/xpsp1a_pl_x86.exe&#39%3b%29;" target="_blank">http://download.microsoft.com/download/8/1..._x86.exe');</a>
  6. ?>


Jezeli jest pierwszy header to jest przekierowanie - ale wtedy nie zrobie dodawania do bazy sad.gif
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.