Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Skrypt głosowania
Forum PHP.pl > Forum > Przedszkole
kosior11
Witam!

Tworze skrypt głosowania, w którym użytkownik ma możliwość zagłosowania na odpowiednie zdjęcie. Nie che używać ocen ale liczbę osób które zagłosowały, tzn jeśli ktoś zagłosuje na dane zdjęcie to żeby liczba tych głosów zwiększyła się o jeden. Dodatkowo chciałbym zablokować możliwość dodania kolejnego głosu przez użytkownika który już raz zagłosował.

Proszę Was o pomoc

Pozdrawiam

pedro84
Z czym masz problem?
kosior11
1. Nie wiem jak zrobić aby po kliknięciu w button liczba głosów zwiększyła się o jeden, i chciałbym aby liczba głosów była przechowywana w bazie danych

i

2. Nie wiem jak zablokować IP użytkownika który już głosował
pedro84
1.
  1. UPDATE tabela SET pole = pole+1

2. Durne rozwiązanie. Co np. z userami ze zmiennym IP?
kosior11
Dzięki za 1. skoro durne to może znasz inne rozwiązanie?
pedro84
Ciacho na przykład, choć idealne też nie jest. Masz logowania na tej stronie?
kosior11
Planuje zrobić, ale chciałbym, żeby dodawanie głosów nie było uzależnione od logowania.

Croos22
Cytat
2. Nie wiem jak zablokować IP użytkownika który już głosował


Po prostu przy dodaniu głosu do bazy dodawaj też adres ip:
  1. $_SERVER['REMOTE_ADDR']

a następnie sprawdzaj czy użytkownik z takim ip głosował.
kosior11
Mam problem jeszcze z rozwiązaniem pierwszym bowiem po kliknięciu w przycisk głosy są dodawane do wszystkich zdjęcia ja chciałbym te zdjęcia odseparować od siebie.

Wiem ze muszę do tego włączyć Id, tylko w jaki sposób?

Jako przycisku używam formularza

  1. <form action="upload_vote_l.php" method="post" enctype="multipart/form-data"><input class="button_vote" type="submit" value="!"></form>


a upload wygląda tak:

  1. <?php
  2. include("connect.php");
  3.  
  4.  
  5. if($_SERVER['REQUEST_METHOD'] == 'POST')
  6. {
  7. $query = mysql_query("UPDATE tabela SET pole = pole+1");
  8. }
  9.  
  10. ?>


Gdzie włączyc id?




Rozwiązałem!

Teraz jeszcze chciałbym się o jedną rzecz zapytać:

mam formularz który dodaje głos:

  1. <form action="upload_vote_l.php?id='.$row[0].'" method="post" enctype="multipart/form-data"><input class="button_vote" type="submit" value="!"></form>


Jak inaczej to rozwiązać aby po kliknięciu automatycznie zmieniła się liczba głosów, bo teraz po kliknięciu odsyła do strony upload_vote_l.php, albo chociaż, żeby po dodanie głosu automatycznie odswieżyła się strona.
Matkas
  1. <form action="upload_vote_l.php?id='.$row[0].'" method="post" enctype="multipart/form-data"><input class="button_vote" type="submit" value="!"></form>

1.Użyj AJAX'a
2. Action zostaw puste lub użyj PHP SELF. Daj pole
  1. <input type="hidden" name="vote_id" value="tutaj_id"/>
. Później zamiast użyć GET["id"] użyj POST["vote_id"].
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.