Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Limit pobrań na hasło
Forum PHP.pl > Forum > PHP
wolfen3
Potrzebuje wykonać skrypt na mojej stronie, który będzie polegał na tym że dana osoba która otrzyma losowo generowane hasło będzie mogła dokonać daną ilość pobrań w zależności od hasła.

Nie moge nigdzie znaleźć czy i jak mniej więcej wykonać taki skrypt w php. Chodzi mi głównie o zależność między hasłem a ilością pobrań. Jak to zrobić ?
in5ane
Tworzysz sobie tabele w bazie danych MySQL i wszystkie dane trzymasz w tej bazie. Np. jedna tabelka jest z hasłami i ilościa pobrań, np.:
id || password (hasło) || download (ilość pobrań maksymalnych)
Oraz do tego tworzysz drugą tabelkę, która odpowiada za sprawdzanie, np.:
id || password || download (ilość pobrań dotychczas)
Dodając kolejne hasła do pierwszej tabeli, dodajesz również do tej, gdzie w polu download określasz liczbę na 0
I do tego w kodzie robisz zależność między tymi dwoma tabelami, tzn. sprawdzasz ile może być maksymalnie pobrań na dane hasło i sprawdzasz następnie ile razy już pobrano na dane hasło.
Tyle...
SzamanGN
Po co tak komplikować?
Starczy jedna tabela:
  1. CREATE TABLE `pobrania` (
  2. `id_hasla` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  3. `haslo` TINYINT NOT NULL ,
  4. `uzytkownik` TINYINT NOT NULL ,
  5. `max_pobran` SMALLINT NOT NULL ,
  6. `aktualnie_pobrano` SMALLINT NOT NULL DEFAULT '0'
  7. ) ENGINE = MYISAM


Tworzysz nowe hasło dla użytkownika:
  1. <?php
  2. $sql = 'INSERT INTO `pobrania` (`id_hasla`, `haslo`, `uzytkownik`, `max_pobran`) VALUES (NULL, "Hasło", "'.$identyfikatorUzytkownika.'", "'.$maksymalnaIloscWyswietlen.'");';
  3. ?>


tłumaczyć chyba nie trzeba?

Następnie każdorazowe kliknięcie do linku z download sprawdzać w bazie danych, czy ilość aktualnych pobrań jest mniejsza niż maksymalna ilość pobrań.
Jeżeli liczba aktualnych pobrań równa się maksymalnej liczbie pobrań, to rekord z danym hasłem zostaje usunięty z bazy danych.
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.