$ankieta = $baza->getRow("select * from sonda where id_sonda = $idA"); $ankietaContent = $baza->konwersja($ankieta['pytanie']); $odpowiedzi = $baza->getRows("select * from sonda_odp where id_sonda = $idA"); if ($odpowiedzi){ $ankietaOdpowiedzi .= "<form action='index.php?id=ankieta&action=vote' method='post'><table class='ankieta'>"; foreach($odpowiedzi as $odpowiedz){ $ankietaOdpowiedzi .="<tr><td><input type='radio' value='{$odpowiedz['id_odp']}' name='odpowiedz' /></td><td>".$baza->konwersja($odpowiedz['odp'])."</td></tr>"; } $ankietaOdpowiedzi .= "</table><p><input id='glosuj' type='submit' value='Głosuj' /></p></form><a href='index.php?id=ankieta'>Wyniki</a>"; } switch ($site){ case 'ankieta':{ if ($_GET['action']=='vote'){ $newsContent .="<p style='color:red;'>Głos został oddany</p>"; else $newsContent .="<p style='color:red;'>Oddałeś już głos</p>"; } $newsContent .="<br/><h1>Wyniki Sondy</h1><p>".$baza->konwersja($ankieta['pytanie'])."</p>"; if ($odpowiedzi){ $i=0; foreach($odpowiedzi as $odpowiedz){ $suma += $odpowiedz['licznik']; } $newsContent.="<table class='ankieta'style='margin:0 auto;color:black;'>"; foreach($odpowiedzi as $odpowiedz){ if ($suma>0) $odp['procent'] = $odpowiedz['licznik']/$suma*100; else $odp['procent'] = 0; $odp['procent']*=2; $newsContent .= "<tr><td>".$baza->konwersja($odpowiedz['odp'])."(".$odpowiedz['licznik'].")</td><td><div style='margin-left:10px;width:".$odp['procent']."px;height:14px;background:#089504'></div></td></tr> "; } $newsContent.="</table>"; } //} break; }
Problem polega na zablokowaniu prób kikukrotnego głosowania przez tą samą osobę za pomocą cookie.
Zrobiłem coś takiego, ale nie działa zbytnio:
$ankieta = $baza->getRow("select * from sonda where id_sonda = $idA"); $ankietaContent = $baza->konwersja($ankieta['pytanie']); $odpowiedzi = $baza->getRows("select * from sonda_odp where id_sonda = $idA"); if ($odpowiedzi){ $ankietaOdpowiedzi .= "<form action='index.php?id=ankieta&action=vote' method='post'><table class='ankieta'>"; foreach($odpowiedzi as $odpowiedz){ $ankietaOdpowiedzi .="<tr><td><input type='radio' value='{$odpowiedz['id_odp']}' name='odpowiedz' /></td><td>".$baza->konwersja($odpowiedz['odp'])."</td></tr>"; } $ankietaOdpowiedzi .= "</table><p><input id='glosuj' type='submit' value='Głosuj' /></p></form><a href='index.php?id=ankieta'>Wyniki</a>"; } $voted=0; $cookie_time = 24; switch ($site){ case 'ankieta':{ if ($_GET['action']=='vote'){ $voted=$_COOKIE['voted']; } if ($voted==1) { $newsContent .="<p style='color:red;'>Oddałeś już głos</p>"; } $newsContent .="<p style='color:red;'>Głos został oddany</p>"; } } $newsContent .="<br/><h1>Wyniki Sondy</h1><p>".$baza->konwersja($ankieta['pytanie'])."</p>"; if ($odpowiedzi){ $i=0; foreach($odpowiedzi as $odpowiedz){ $suma += $odpowiedz['licznik']; } $newsContent.="<table class='ankieta'style='margin:0 auto;color:black;'>"; foreach($odpowiedzi as $odpowiedz){ if ($suma>0) $odp['procent'] = $odpowiedz['licznik']/$suma*100; else $odp['procent'] = 0; $odp['procent']*=2; $newsContent .= "<tr><td>".$baza->konwersja($odpowiedz['odp'])."(".$odpowiedz['licznik'].")</td><td><div style='margin-left:10px;width:".$odp['procent']."px;height:14px;background:#089504'></div></td></tr> "; } $newsContent.="</table>"; } //} break; }
Co robię nie tak ?