Strona 1 z 1

[php] Sonda

: ndz sie 10, 2003 8:22 pm
autor: TRACK
Chce zrobic sonda na swojej stronie. Nie zalezy ile bedzie odpowiedzi, bo zasada bedzie taka sama. Wiem jak sa zrobic, wiem jak wyswietlac wyniki itd. Problem jest taki. Chce aby sonda autoamtycznie przed wyswietleniem ankiety sprawdzaja czy dzisiaj juz ta osoba glosowala. Aby to zrobic pobiera aktualny adres IP i sprawdza czy takowy znajduje sie juz w bazie. Jesli tak sprawdza jaki mamy dzisiaj dzien i porownuje go z tym ktory jest zapisany w bazie obok adresu IP. Niestety kod jaki probowalem zrobic nie chcial dzialac poprawnie.

Kod: Zaznacz cały

$ip_now = $REMOTE_ADDR;
$dzisiaj = getdate(); 
$dzis   = $dzisiaj['mday']; 
				
$sql = mysql_connect($host, $user, $password);
$select = mysql_select_db($base_name);
				
$ask = "SELECT * FROM sms_sonda_1";
$do = mysql_query($ask);
while($pole = mysql_fetch_array($do))
{
   if($pole[ip_adres] == $ip_now)
   {
      $sonda = "znaleziono.";
   }
}
Niestety jak jest taki kod to w momecie jesli znajdzie adres wtedy wartosc $sonda = znaleziono, ale petla wykonuje sie dalej i nastepnym razem juz nie znajduje. Co robic? Macie jakis pomysl.

Pozdrawiam...

Re: [php] Sonda

: ndz sie 10, 2003 10:44 pm
autor: the_foe
lepij zapisz to tak:

Kod: Zaznacz cały

$sql = mysql_connect($host, $user, $password); 
$select = mysql_select_db($base_name); 
             
$ask = "SELECT * FROM sms_sonda_1 WHERE ip_adres='$ip_now'"; 
$do = mysql_query($ask); 
$no_rows=mysql_num_rows($do);
if ($no_rows!=0){
$sonda = "znaleziono."; 
}else{
$sonda = "nie znaleziono.";
}

Re: [php] Sonda

: ndz sie 10, 2003 11:18 pm
autor: Wojciech Jurewicz
Powinieneś zapisywać do bazy ip oraz znacznik czasu unixa a następnie sprawdzać czy dany ip (aktualnie głosujący) ma znacznik większy oczas jednej doby, w ten sposób uniemożliwisz głosowanie w ciągu jednej doby więcej niż jeden raz. Innym sposobem może być zapisywanie daty i sprawdzanie czy nr dnia jestwiększy czy taki sam.

A co do twojego kodu, to linijka:

Kod: Zaznacz cały

   if($pole[ip_adres] == $ip_now)
powinna chyba wyglądać tak:

Kod: Zaznacz cały

   if($pole['ip_adres'] == $ip_now)

Re: [php] Sonda

: pn sie 11, 2003 12:23 am
autor: TRACK
Juz sobie sam poradzilem, ale dzieki za odpowiedzi :)