Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] cookie
Forum PHP.pl > Forum > PHP
Lejto
Jak zrobić za pomocą cookie na liście głosowania
Jest np. 20 kandydatów i użytkownik może zagłosować tylko na 2.
.chudy.
Jeżeli użyjesz ciasteczek to zabardzo nie zadziała, bo usune ciateczka albo zmienie przeglądarke i będę mógł znów zagłosować.
Lejto
no to jak to zrobić na blokade ip?
ale jak?
in5ane
Robisz tabele ip_pool i w niej masz pole przykładowo id oraz ip i przed zagłosowniem sprawdzasz $ip (zmienną, ip usera) czy występuję w bazie, jeżeli występuje, to zliczasz ile razy. Jeżeli wynik wyniesie 3 to wtedy nie pozwolisz głosować, a jak jest <3 to wtedy pozwalasz głosować i dodajesz do bazy wpis.
Lejto
zliczanie zrobić za pomocą if czy jeszcze while będzie potrzebne?

zliczanie zrobiłem tak:
  1. <?php
  2. $sql5 = "select count(ip),ip from ip_glosowanie where ip='$ip'";
  3. $query5 = mysql_query($sql5);
  4.  
  5. $rows = mysql_num_rows($query5);
  6.  
  7. for($i=0; $i < $rows; $i++)
  8. {
  9.  $row = mysql_fetch_array($query5);
  10.  
  11.  if($row[ip] == $ip <3){
  12.  echo 'elo';
  13.  exit;
  14.  }
  15.  
  16. }
  17. ?>

ale nie działa chyba pętla jest niepotrzebna
.chudy.
Możesz zrobić tak że będziesz miał tabele z 2 kolumnami: IP i ilość oddanych głosów. I wtedy żadnych pętli. Tylko znów userzy np. neostrady będą mogli głosować ile chcą, ale z drugiej strony wątpie aby im się chciało co chwila resetować modemy.
Lejto
też wątpię czy będzie im się chciało resetować modemu zresztą to nie jest tak ważne głosowanie zrobiłem tak w tabeli gdzie zapisują się głosy do danego kandydata wstawiłem tabele ip i jak ktoś zagłosuje to jego ip się zapisuje tam ale jak
Cytat(in5ane @ 12.12.2007, 19:20:27 ) *
to zliczasz ile razy. Jeżeli wynik wyniesie 3 to wtedy nie pozwolisz głosować, a jak jest <3 to wtedy pozwalasz głosować i dodajesz do bazy wpis.

jak zliczyć te same ip?
.chudy.
  1. SELECT ip FROM ip_glosowanie WHERE ip = 85.147.58.245

Jak dostaniesz 2 rezultaty to może zagłosować jeszcze raz.
Lejto
pokombinowałem i zrobiłem jak tylko można oddać jeden głos nie odpowiedziałeś mi ja zliczyć te same numery ip wzorcując się na ip użytkownika bo tak chce zrobić a potem wzorcując sie na tym napisać if'a który będzie dodawał głos jeśli w bazie są np. 3 ip tego użytkownika
.chudy.
  1. SELECT ip FROM ip_glosowanie WHERE ip = 85.147.58.245

  1. SELECT cout(ip) FROM ip_glosowanie WHERE ip = 85.147.58.245


Pierwsza metoda zwraca ilość ip w postaci ilości wyników. 2 metoda zwraca już sam wynik. Właściwie to 2 metoda jest lepsza i mniej przy niej roboty. Tylko zamiast tego nr. 85.147... wstawiasz IP usera winksmiley.jpg.
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.