Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Submit formularz
Forum PHP.pl > Forum > Przedszkole
mrk9109
Witam mam pytanie jak zablokować by dany użytkownik mógł odebrać nagrody tylko raz ? chodzi o to że jak szybko ktoś kliknie submit 2x to dostanie nagrody 2x

  1. <input type="submit" class="btn btn-info" value="Odbierz nagrody" name="odbierz">
trueblue
A nie zapisujesz nigdzie informacji, że odebrał nagrodę?
mrk9109
Zapisuje i usuwa z bazy danych dla tego sie dziwie ze jak ktoś szybko kliknie submit to dodaje 2x update
trueblue
Nie usuwaj informacji o odbiorze, to będziesz przy kolejnej próbie wiedział jak postąpić.
mrk9109
Skrypt musi usunąć wiersz by gracz mógł jechać nowe zawody można jakoś zablokować to ? By tylko raz kliknąć w submit
trueblue
Co oznacza, że na nowe zawody może jechać kiedy nie odebrał nagrody lub odebrał jedną, tak?
mrk9109
Jeżeli odbierze nagrodę może jechać nowy turniej jeżeli nie odbierze to nie kończy danego turnieju można z tym klikaniem coś zrobić ?
trueblue
Próbuję Cię naprowadzić, a Ty zamiast wykorzystać informacje, które sam zapisujesz, to próbujesz jakichś kombinacji.
Skoro odbiera nagrodę i zapisujesz tą informację, to po co ją usuwasz? Przy kolejnej próbie odebrania nagrody sprawdzisz czy już odbierał i ewentualnie umożliwisz lub nie.
mrk9109
Nie do końca sie zrozumieliśmy wrzucę kod php później jak będę na PC
dublinka
Podczas dodania rekordu ustaw sesje (tuz po) a przed dodaniem sprawdz czy istnieje. Jesli istnieje to przekieruj klienta gdziestam lub wyswietl stosowne info. Sama sesje ustaw na jakis konkretny czas chocby 1 minute. Podczas sprawdzania porownaj aktualny czas z sesja. Samą sesje usun tuz przed update.

Czyli:

Warunek spradzajacy czy aktualny czas jest "wiekszy" od tego w sesji. Jesli jest mniejszy znaczy ze sesja trwa mniej niz minute u dajesz jakies info z exit-em.
Jesli jest wiekszy usuwasz te sesje tuz przed dodaniem do bazy.

[ UPDATE ]


ustawienie sesji z czasem.

  1. $_SESSION['time'] = (time()+ 60);


Tyle.


Dodatkowo wylacz submit po klikneciu.

  1. <input type="submit" onclick="this.disabled='disabled'"/>
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.