Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][CSS][PHP]Wyświetlanie kodu z listy i limit kliknięć w button - Jak wykonać?
Forum PHP.pl > Forum > Przedszkole
Shinner
Witam,

załóżmy że, mam stronę, na tej stronie przycisk, chcę aby po jego kliknięciu wyświetlił się kod (tekst) z wcześniej przygotowanej listy,
ten kod po wyświetleniu użytkownikowi ma się już drugi raz nie pokazać.
Dodatkowo potrzebuje ustawić dzienny limit (24h) na klikanie w ten guzik przez dane ip (maksymalnie 5 kliknięć).
Proszę o wszelakie sugestie i porady, chętnie się pouczę.
nospor
Jesli chcesz to ograniczac na podstawie IP, to zapisujesz jaki tekst juz sie wyswietlal dla danego IP i juz wiecej dla tego IP go nie pokazujesz.
Najlatwiej to by bylo zrobic na bazie danych
Shinner
Trochę inaczej, tekst z listy ma się wyświetlić tylko raz, bez znaczenia na ip, pozostaje jeszcze kwestia limitu guzika.
nospor
Raz dla danego usera? No to ciastka
Rad dla obojetnie jakiego usera? No to po wyswietleniu zaznaczaj, ze juz byl wyswietlany i go wiecej nie wyswietlaj
Michael2318
A gdybyś dodał w htmlu zwykłego submita, po kliknięciu uruchamiasz ajax'em skrypt, który w odpowiedzi albo da tekst albo wyrzuci błąd? Dodatkowo można by zastosować tutaj evercookies, aby mieć pewność, że użytkownik raz już dostał tekst na ekran i więcej go nie powinien dostać. Ewentualnie tworzyć zwykłe ciastko i sprawdzać skryptem, który uruchamiałby ajax.
Shinner
To może coś w tym kierunku, w bazie danych umieszczę kody,
jak internauta (gość) kliknie w przycisk pokaże mu się kod, a kod ten zostanie skreślony (ma się już nikomu więcej nie pokazać).
Dodatkowo limit na klikanie w przycisk, maksymalnie 5x na dane IP w ciągu dnia.

O coś takiego mi chodzi, ale nie wiem jak się za to zabrać.
Z góry dziękuję za pomoc.
nospor
Cytat
jak internauta (gość) kliknie w przycisk pokaże mu się kod, a kod ten zostanie skreślony (ma się już nikomu więcej nie pokazać).

Tworzysz tabele KODY z polami:
ID
KOD
CZY_UZYTY - wartosc 0 nie uzyty, wartosc 1 uzyty

Gdy wyswietlisz komus dany kod, to ustawiasz mu CZY_UZYTY na 1 i juz wiecej nie bierzesz go do wyswietlania. Mozesz tez od razu go kasowac, jesli nie bedzie ci potrzebna historia kodow.


Cytat
Dodatkowo limit na klikanie w przycisk, maksymalnie 5x na dane IP w ciągu dnia.

Tabela IP z polami
IP
CZAS - pole typu DATETIME z datą klikniecia

Gdy ktos klika to robisz wpis w tej tabeli.
Dodatkowo sprawdzasz ile jest wpisow z danego dnia dla danego IP. Gdy 5 to nie pozwalasz na klik
Shinner
Zrobiłem tabele z polami w phpMyAdmin, co dalej?
nospor
Naisalem co dalej....
Cytat
Gdy wyswietlisz komus dany kod, to ustawiasz mu CZY_UZYTY na 1 i juz wiecej nie bierzesz go do wyswietlania.

Czego nie wiesz? Nie umiesz pobrac z bazy rekordow?
Shinner
Wybrać rekordy chyba potrafię tylko nie do końca wiem co zrobić z tym:
Gdy wyswietlisz komus dany kod, to ustawiasz mu CZY_UZYTY na 1 i juz wiecej nie bierzesz go do wyswietlania.
lukasz_os
pobierasz rekord z bazy (nie wiem czy losowy czy nie) i automatycznie robisz update na bazie ze wyswietliles ten kod czyli ustawiasz CZY_UZYTY na 1.
Shinner
A jeszcze jak to ogarnąć:

"Gdy ktos klika to robisz wpis w tej tabeli.
Dodatkowo sprawdzasz ile jest wpisow z danego dnia dla danego IP. Gdy 5 to nie pozwalasz na klik"

Dziękuję za wszelką pomoc.

Pomoże ktoś jak to ugryźć?
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.