Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Limit głosowania
Omin
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 18.08.2014

Ostrzeżenie: (0%)
-----


Wiatm.
Chciałbym ustawić na swojej stronie limit wysyłania formularza do głosowania lecz nie za bardzo wiem jak to zrobić.
Chodzi mi o to, że osoba głosująca mogłaby zagłosować 5 razy w ciągu dnia.
Próbowałem z zablokowaniem IP dla użytkownika lecz nie za bardzo mi to wychodziło.
Byłbym wdzięczny jeśli mógłby ktoś podpowiedzieć jak to zrobić.
Pozdrawiam
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Albo głosowanie z logowaniem (choć mogą być zakładane multikonta), albo evercookies.


--------------------
Go to the top of the page
+Quote Post
Omin
post
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 18.08.2014

Ostrzeżenie: (0%)
-----


Logowanie odpada, poczytam jeszcze o tym evercookies


Nie za bardzo wiem jak się za to zabrać..
to mój kod, który chciałbym żeby się uruchomił jeśli formularz będzie wysłany mniej niż 5 razy w ciągu dnia:

  1. if (isset($_POST['akcja2'])){
  2. $przechwycone2=$_POST['akcja2'];
  3. $sql = "UPDATE `zdjecia` SET `Wynik`=`Wynik`+1 WHERE `image_id`='$przechwycone2'";
  4. mysql_query($sql) or die('BŁĄD:'.mysql_error());
  5.  
  6. }


Formularz:
  1.  
  2. <form method="POST" action="index.php">
  3. <?php echo '<input type="hidden" value=" '.$img2.'; " name="akcja2">' ?>
  4. <button type="button" class=" btn btn-default btn-lg przycisk_wielkosc">
  5. <input class="btn btn-default btn-lg btn-block" type="submit" name="submit" value="Głosuj!" />
  6. </button>
  7. </form>
  8.  


Ten post edytował Omin 29.07.2016, 11:38:32
Go to the top of the page
+Quote Post
olszam
post
Post #4





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

Ostrzeżenie: (0%)
-----


Może zrób coś w rodzaju by wysyłalo na maila jakiś link potwierdzający, i sprawdzać po mailu czy wszystko sie zgadza. Mało bezpieczna metoda bo zawsze można stworzyć nowego maila ale chyba ludzie mają lepsze żeczy do roboty niż tworzenie multum niepotrzebnych maili, można i dodatkowo zabezpieczyć np. by po ip jeszcze sprawdzał, więc jak sprawdzasz maila i ip, jak nie wykorzystał tego limitu 5 na dzień i głosuje z innego komputera lub korzysta z innego maila to jakiś filtr zastosować ew. jakoś ifem sprawdzić.
Go to the top of the page
+Quote Post
trueblue
post
Post #5





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Cytat(olszam @ 29.07.2016, 14:55:44 ) *
ale chyba ludzie mają lepsze żeczy do roboty niż tworzenie multum niepotrzebnych maili

smile.gif))


--------------------
Go to the top of the page
+Quote Post
Omin
post
Post #6





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 18.08.2014

Ostrzeżenie: (0%)
-----


Ogólnie na tej stronie chodzi o to by głosować na jedno z dwóch zdjęć, które się pojawia i chce uniknąć spamu.
Na stronie mam zakładkę ranking gdzie są wynikii poszczególnych zdjęć.
Chcę by użytkownik wszedł na stronę, oddał kilka głosów na losowe zdjęcia, które się mu pojawią i to wszystko, bez żadnego wpisywania maila, logowania się itd.

Dziękuję za wszystkie odpowiedzi wink.gif
Pozdrawiam


Stworzyłem coś takiego:
  1. $data = date('Y-m-d');
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3.  
  4. if (isset($_POST['akcja'])){
  5. mysql_query ("INSERT INTO `ip_adresy`(`ip`, `czas`) VALUES ('$ip','$data')");
  6. $spr = mysql_query ("SELECT `ip`,`czas`,COUNT('ip') AS 'liczbaip' FROM `ip_adresy` WHERE `ip`= '$ip' AND `czas` = CURDATE()");
  7. $spr_sprawdzenie = mysql_fetch_row($spr);
  8. if ($spr_sprawdzenie[2] < 5 && $spr_sprawdzenie[1] = $data) {
  9. $przechwycone=$_POST['akcja'];
  10. $sql = "UPDATE `zdjecia` SET `Wynik`=`Wynik`+1 WHERE `image_id`='$przechwycone'";
  11. mysql_query($sql) or die('BŁĄD:'.mysql_error());
  12. }
  13. else{
  14. echo "Już głosowałeś";
  15. }
  16.  
  17.  
  18. }



  1. <form method="POST" action="index.php">
  2. <?php echo '<input type="hidden" value=" '.$img2.'; " name="akcja2">' ?>
  3. <button type="button" class=" btn btn-default btn-lg przycisk_wielkosc">
  4. <input class="btn btn-default btn-lg btn-block" type="submit" name="submit" value="Głosuj!" />
  5. </button>
  6. </form>




Jak mając ten kod sprawić by
  1. <input class="btn btn-default btn-lg btn-block" type="submit" name="submit" value="Głosuj!" />
miał dopisane disabled wtedy gdy warunki wyżej nie spełniają wymagań?

Ten post edytował Omin 30.07.2016, 09:33:58
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 06:40