////--- poll.php ---/////
[code]<?php
##################################
# Door: Pieter van Linschoten                               #
# Datum: 05 - 08 - 2005                                      #
# Email: webmaster@mgunit.nl                             #
# Voorbeeld: www.mgunit.nl/index.php?page=Poll  #
##################################
SESSION_START();

//config: Vervang door eigen instellingen.
$connect = "data.inc"; // Bestand dat verbinding maakt met de MYSQL DATABASE
$dir = "images/"; // Directory waar je de plaatjes zet (bar2-r.gif, bar2-l.gif en bar2.gif)
$table = "members"; // Tabel voor je gebruikersnaam uit haalt
$tablerow = "gebruikersnaam"; // Rij in de tabel voor de gebruikers, bijv. gebruikersnaam
$tableuser = $_SESSION['user']; // Naam, bijvoorbeeld $_COOKIE['user'] of $_SESSION['user']
//einde config, je hoeft hieronder niets meer te wijzigen

include($connect);
?>
<H3>Polling Station:</H3>
<br>
<?


//Kijk of de gebruiker al gestemd heeft
$poll_check = "SELECT vote FROM ".$table." WHERE ".$tablerow." = '".$tableuser."'";
$res_check = mysql_fetch_array(mysql_query($poll_check));

//Bepaald welk scherm de gebruiker te zien krijgt

		
if($res_check['vote'] == 1){
$view = "results";
}else{
$view = "vote";
}
if(empty($_GET['id'])){
		$select = "ready = '0'";
		}else{
		$select = "id = '".$_GET['id']."'";
		$view = "results";
		}
if(!isset($tableuser)){
echo"<I>Je bent niet ingelogd, je kan alleen de poll uitslagen bekijken.</I><p>";
$view = "results";
}

//wanneer hij al gestemd heeft:
if($view == "results"){

	//selecteren uit de database
	$sql_sel = "SELECT vraag,ant1,ant2,ant3,ant4,ant5,ant6,v1,v2,v3,v4,v5,v6,nextvote FROM polling WHERE $select ORDER by ID ASC LIMIT 0,1";
	if($poll = mysql_fetch_array(mysql_query($sql_sel))){

			//totaal aantal stemmen tellen:
			$totalvotes = $poll['v1'] + $poll['v2'] + $poll['v3'] + $poll['v4'] + $poll['v5'] + $poll['v6'];
			
			//weergeef de vraag		
			echo"<b>\"".$poll['vraag']."\"</b><P>";

			//rekent uit hoeveel antwoorden er zijn in totaal en het aantal procenten per poll
			$polls = 1;
			for($i=1;$i<7;$i++){

				if($poll['ant'.$i] != ""){
					if($poll['v'.$i] == ""){
					$bla['t'.$i] = 0;
					}
					else{
					$bla['t'.$i] = 100 / $totalvotes;
					$bla['t'.$i] = round($bla['t'.$i] * $poll['v'.$i]);
					$width_poll['v'.$i] = $bla['t'.$i] * 2;
					}

					
					$polls++;
					$poll['v'.$i] = "(" . $poll['v'.$i] . ")";
				}

			}
			//Weergeeft de poll via een array per antwoord.
			for($a=1;$a<$polls;$a++){
			
			echo "<TABLE border=\"0\"><TR><td colspan=4><b>\"".$poll['ant'.$a]."\"</b>&nbsp;".$poll['v'.$a]."</td></tr>";
			echo"<tr><TD><img src=\"".$dir."bar2-l.gif\" height=\"10\" width=3/><img src=\"".$dir."bar2.gif\" height=\"10\" width=\"".$width_poll['v'.$a]."\" />";
			echo"<img src='".$dir/."bar2-r.gif' height='10' width='3'/></TD><td>".$bla['t'.$a]."%</td></tr></TABLE>";
			}
			echo "<br>Totaal aantal stemmen: ". $totalvotes ." (maximaal ".$poll['nextvote'].")";
	}

}
//einde weergeven / Begin stemmen
elseif($view == "vote"){

//BEGIN VOTE CHECK (wanneer iemand op stemmen heeft gedrukt)
if(isset($_POST['controle'])){

//selecteren uit de database
$sql_sel = "SELECT v1,v2,v3,v4,v5,v6 FROM polling WHERE ready = '0' ORDER BY id LIMIT 0,1";

//Stem verwerking - Wanneer er op optie 1 is gestemd
if($_POST['optie'] == 1){	
	if($poll = mysql_fetch_array(mysql_query($sql_sel))){
		
		$new = $poll['v1'];
		$new++;
		
		$sql_1 = "UPDATE polling SET v1 = '".$new."' WHERE ready = '0' ORDER BY id LIMIT 1";
		$sql_2 = "UPDATE ".$table." SET vote = '1' WHERE ".$tablerow." = '".$tableuser."' ";	
		
		if($res_1 = mysql_query($sql_1)){
		if($res_2 = mysql_query($sql_2)){
			echo"Je hebt succesvol gestemd. klik <A HREF=\"".$PHP_SELF."\">hier</A> voor de uitslag!";
			}
			}
		}
	}
//Stem verwerking - Wanneer er op optie 2 is gestemd	
elseif($_POST['optie'] == 2){	
	if($poll = mysql_fetch_array(mysql_query($sql_sel))){
		
		$new = $poll['v2'];
		$new++;
		
		$sql_1 = "UPDATE polling SET v2 = '".$new."' WHERE ready = '0' ORDER BY id LIMIT 1";
		$sql_2 = "UPDATE ".$table." SET vote = '1' WHERE ".$tablerow." = '".$tableuser."' ";	
		
		if($res_1 = mysql_query($sql_1)){
		if($res_2 = mysql_query($sql_2)){
			echo"Je hebt succesvol gestemd. klik <A HREF=\"".$PHP_SELF."\">hier</A> voor de uitslag!";
			}
			}
		}
	}
//Stem verwerking - Wanneer er op optie 3 is gestemd
elseif($_POST['optie'] == 3){	
	if($poll = mysql_fetch_array(mysql_query($sql_sel))){
		
		$new = $poll['v3'];
		$new++;
		
		$sql_1 = "UPDATE polling SET v3 = '".$new."' WHERE ready = '0' ORDER BY id LIMIT 1";
		$sql_2 = "UPDATE ".$table." SET vote = '1' WHERE ".$tablerow." = '".$tableuser."' ";	
		
		if($res_1 = mysql_query($sql_1)){
		if($res_2 = mysql_query($sql_2)){
			echo"Je hebt succesvol gestemd. klik <A HREF=\"".$PHP_SELF."\">hier</A> voor de uitslag!";
			}
			}
		}
	}
//Stem verwerking - Wanneer er op optie 4 is gestemd
elseif($_POST['optie'] == 4){	
	if($poll = mysql_fetch_array(mysql_query($sql_sel))){
		
		$new = $poll['v4'];
		$new++;
		
		$sql_1 = "UPDATE polling SET v4 = '".$new."' WHERE ready = '0' ORDER BY id LIMIT 1";
		$sql_2 = "UPDATE ".$table." SET vote = '1' WHERE ".$tablerow." = '".$tableuser."' ";	
		
		if($res_1 = mysql_query($sql_1)){
		if($res_2 = mysql_query($sql_2)){
			echo"Je hebt succesvol gestemd. klik <A HREF=\"".$PHP_SELF."\">hier</A> voor de uitslag!";
			}
			}
		}
	}
//Stem verwerking - Wanneer er op optie 5 is gestemd
elseif($_POST['optie'] == 5){	
	if($poll = mysql_fetch_array(mysql_query($sql_sel))){
		
		$new = $poll['v5'];
		$new++;
		
		$sql_1 = "UPDATE polling SET v5 = '".$new."' WHERE ready = '0' ORDER BY id LIMIT 1";
		$sql_2 = "UPDATE ".$table." SET vote = '1' WHERE ".$tablerow." = '".$tableuser."' ";	
		
		if($res_1 = mysql_query($sql_1)){
		if($res_2 = mysql_query($sql_2)){
			echo"Je hebt succesvol gestemd. klik <A HREF=\"".$PHP_SELF."\">hier</A> voor de uitslag!";
			}
			}
		}
	}
//Stem verwerking - Wanneer er op optie 6 is gestemd
elseif($_POST['optie'] == 6){	
	if($poll = mysql_fetch_array(mysql_query($sql_sel))){
		
		$new = $poll['v6'] ;
		$new++;
		
		$sql_1 = "UPDATE polling SET v6 = '".$new."' WHERE ready = '0' ORDER BY id LIMIT 1";
		$sql_2 = "UPDATE ".$table." SET vote = '1' WHERE ".$tablerow." = '".$tableuser."' ";	
		
		if($res_1 = mysql_query($sql_1)){
		if($res_2 = mysql_query($sql_2)){
			echo"Je hebt succesvol gestemd. klik <A HREF=\"".$PHP_SELF."\">hier</A> voor de uitslag!";
			}
			}
		}
	}
//Stem verwerking - Wanneer er geen optie is gekozen
else{
echo "Je hebt geen keuze gemaakt. Klik <a href=\"".$PHP_SELF."\">hier</a> om het opnieuw te proberen";
}

//Aantal check - Bekijkt of het maximale aantal al bereikt is.
$sql_sel = "SELECT * FROM polling WHERE ready = '0' ORDER BY id LIMIT 0,1";
	if($poll = mysql_fetch_array(mysql_query($sql_sel))){
			$totalvotes = $poll['v1'] + $poll['v2'] + $poll['v3'] + $poll['v4'] + $poll['v5'] + $poll['v6'];
	
	//AANTAL CHECK - Hier onder geeft aan wat er gebeurt wanneer het maximale aantal is bereikt
	if($totalvotes >= $poll['nextvote']){
		
		//Update de poll naar verlopen. dit zorgt ervoor dat gelijk de volgende poll in het rijtje gebruikt wordt.
		$sql_upd = mysql_query("UPDATE polling SET ready = '1' WHERE ready = '0' ORDER BY id LIMIT 1");
		
		//Update bij alle gebruikers vote, zodat iedereen weer kan stemmen.
		$sql_upd_2 = mysql_query("UPDATE ".$table." SET vote = '0'");

		if($res_upd && $res_upd_2){
		echo"het maximale aantal stemmen is bereikt, je kan gelijk weer stemmen bij de nieuwe polling.";
		}
	}

  }
}
//Wanneer er nog niet gestemd is en ook niet op de stem knop is gedrukt
else{

	//Selecteren uit de database
	$sql_sel = "SELECT vraag,ant1,ant2,ant3,ant4,ant5,ant6,nextvote FROM polling WHERE ready = '0' ORDER BY id LIMIT 0,1";
	$res = mysql_query($sql_sel);
	
	if(mysql_num_rows($res) == 0){
	echo"Er is momenteel geen poll beschikbaar";
	}else{
	

	$polls = 1;
	if($poll = mysql_fetch_array($res)){
				
			//Vraag uit de database weergeven			
			echo"Vraag: \"".$poll['vraag']."\"";
			
			//Doormiddel van een Array controleren hoeveel antwoorden er zijn ingevult
			for($b=1;$b<7;$b++){
				if(!empty($poll['ant'.$b]))
				$polls++;
				}
			}
			//Formulier voor
			echo"<FORM METHOD=POST ACTION=\"".$PHP_SELF."\">";

			//Door middel van een Array antwoorden met radio button weergeven.
			for($c=1;$c<$polls;$c++){
			echo"<INPUT TYPE=\"radio\" NAME=\"optie\" value=\"".$c."\">".$poll['ant'.$c]."<br>\n";
			}
			//Hidden Field (Checkt of er iets wordt verzonden) en submit button.
			echo"<input type=hidden name=\"controle\" value=check><input type=\"submit\" value=\"stem!\"></FORM>";

		}
	}


}
echo"<P>Bekijk Resultaten van afgesloten polls<p><BLOCKQUOTE>";
$poll_select = mysql_query("SELECT * FROM polling WHERE ready = '1'");

while($array = mysql_fetch_array($poll_select)){
echo"<li><a href=".$PHP_SELF."&id=".$array['id'].">".$array['vraag']."</a>";
}
echo"</BLOCKQUOTE>";
?>
[/code]

//////--- poll_admin ---///////
[code]
<?php
##################################
# Door: Pieter van Linschoten                               #
# Datum: 05 - 08 - 2005                                       #
# Email: webmaster@mgunit.nl                             #
# Voorbeeld: www.mgunit.nl/index.php?page=Poll  #
##################################
SESSION_START();

//config: Vervang door eigen instellingen.
$connect = "data.inc"; // Bestand dat verbinding maakt met de MYSQL DATABASE
$table = "members"; // Tabel voor je gebruikersnaam uit haalt
$tablerow = "gebruikersnaam"; // Rij in de tabel voor de gebruikers, bijv. gebruikersnaam
$tableuser = $_SESSION['user']; // Naam, bijvoorbeeld $_COOKIE['user'] of $_SESSION['user']
//einde config, je hoeft hieronder niets meer te wijzigen

include("data.inc");


// kijk of $tableuser bestaat. Deze pagina is nog niet volledig beveiligd alleen tegen NIET-leden, maar nog niet tegen Leden.
if(!isset($tableuser))
DIE("SECURITY ERROR: Je hebt hier geen toegang!");


if($_GET['action'] == "edit"){
$view = "edit";
}else{
$view = "view";
}

echo"<CENTER><A HREF=\"index.php?page=poll_setup&action=new\">Nieuw</A></CENTER>";

$sql = "SELECT rank FROM ".$table." where ".$tablerow." = '".$tableuser."'";  
    $res = mysql_query($sql);
 $row = mysql_fetch_array($res);
	 if($row['rank'] >= 1){ 
 if($view == "view"){

//Voeg Poll toe:
if(!empty($_POST['vraag'])){
	if(!empty($_POST['maxvote'])){
		if(!empty($_POST['ant1'])){
			if(!empty($_POST['ant2'])){
				
				$insert = "INSERT INTO polling SET vraag = '".$_POST['vraag']."', ant1 = '".$_POST['ant1']."', ant2 = '".$_POST['ant2']."', ant3 = '".$_POST['ant3']."',ant4 = '".$_POST['ant4']."',ant5 = '".$_POST['ant5']."',ant6 = '".$_POST['ant6']."', nextvote = '".$_POST['maxvote']."',ready = '0', v1 = '0',v2 = '0',v3 = '0',v4 = '0',v5 = '0',v6 = '0'";
				if($res = mysql_query($insert)){
					echo"Poll Succesvol gemaakt!";
				}

			}else{ echo"Je hebt het veld van antwoord 2 leeg gelaten, dit veld is verplicht!";}
		}else{ echo"Je hebt het veld van antwoord 1 leeg gelaten, dit veld is verplicht!";}
	}else{ echo"Je hebt geen maximaal aantal stemmen ingevult";}
}

//Formulier
?>
<FORM METHOD=POST ACTION="<?echo $PHP_SELF;?>">
Bij het invullen van een nieuwe poll moet je met een paar dingen rekening houden:<br>
<BLOCKQUOTE>
1. Minimaal 2 antwoorden invullen (Maximaal 6.)<Br>
2. Geen tekstvelden overslaan, maar op volgorde afwerken.<br>
3. Zet het maximale aantal stemmen niet te hoog, en nooit meer dan het aantal leden dat er zijn (ieder lid kan slechts een keer stemmen!).
</BLOCKQUOTE>
<table>
	<tr>
		<td><B>*Vraag:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="vraag" size=40></td>
	</tr>
	<tr>
		<td colspan=2 height=2 bgcolor=#990000></td>
	</tr>
	<tr>
		<td><B>*Antwoord 1:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="ant1" size=40></td>
	</tr>
	<tr>
		<td colspan=2 height=2 bgcolor=#990000></td>
	</tr>
	<tr>
		<td><B>*Antwoord 2:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="ant2" size=40></td>
	</tr>
	<tr>
		<td colspan=2 height=2 bgcolor=#990000></td>
	</tr>
	<tr>
		<td><B>Antwoord 3:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="ant3" size=40></td>
	</tr>
	<tr>
		<td colspan=2 height=2 bgcolor=#990000></td>
	</tr>
	<tr>
		<td><B>Antwoord 4:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="ant4" size=40></td>
	</tr>
	<tr>
		<td colspan=2 height=2 bgcolor=#990000></td>
	</tr>
	<tr>
		<td><B>Antwoord 5:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="ant5" size=40></td>
	</tr>
	<tr>
		<td colspan=2 height=2 bgcolor=#990000></td>
	</tr>
	<tr>
		<td><B>Antwoord 6:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="ant6" size=40></td>
	</tr>
	<tr>
		<td><B>*Maximaal aantal stemmen:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="maxvote" size=7 value=25></td>
	</tr>
	<tr>
		<td>&nbsp;</td>
		<td align=right><INPUT TYPE="submit" value="Maak!" size=40></td>
	</tr>
</table></form>

[/code]

Alle Pollings:
[code]
<?php
$select = "SELECT * FROM polling WHERE ready = '0' ORDER BY id ASC";
$res = mysql_query($select);
echo"<BLOCKQUOTE>";
WHILE($poll = mysql_fetch_array($res)){
echo "<li><A HREF=\"".$PHP_SELF."&action=edit&id=".$poll['id']."\">".$poll['vraag']."</A>"	;
}
echo"</BLOCKQUOTE>";
?>

</FORM>
<?
	 }elseif($view == "edit"){

//Voeg Poll toe:
if(!empty($_POST['vraag'])){
	if(!empty($_POST['id'])){
		if(!empty($_POST['maxvote'])){
			if(!empty($_POST['ant1'])){
				if(!empty($_POST['ant2'])){
					
					$insert = "UPDATE polling SET vraag = '".$_POST['vraag']."', ant1 = '".$_POST['ant1']."', ant2 = '".$_POST['ant2']."', ant3 = '".$_POST['ant3']."',ant4 = '".$_POST['ant4']."',ant5 = '".$_POST['ant5']."',ant6 = '".$_POST['ant6']."', nextvote = '".$_POST['maxvote']."' WHERE id = '".$_POST['id']."'";
					if($res = mysql_query($insert)){
						echo"Poll Succesvol gewijzigt!";
					}else{die(mysql_error());}

				}else{ echo"Je hebt het veld van antwoord 2 leeg gelaten, dit veld is verplicht!";}
			}else{ echo"Je hebt het veld van antwoord 1 leeg gelaten, dit veld is verplicht!";}
		}else{ echo"Je hebt geen maximaal aantal stemmen ingevult";}
	}else{ echo"Er is geen id aangegeven";}
}

if(isset($_POST['id'])){
$id = $_POST['id'];}
else{$id = $_GET['id']; }
//Wijzig Poll
$select = "SELECT * FROM polling WHERE id = '".$id."'";
$res = mysql_query($select);

if($poll = mysql_fetch_array($res)){
	if($poll['ready'] == "1"){
	echo"Je kunt deze poll niet meer aanpassen";
	}else{

		//Formulier
?>
<FORM METHOD=POST ACTION="<?echo $PHP_SELF;?>&action=edit">
<table>
	<tr>
		<td><B>*Vraag:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="vraag" size=40 value="<? echo $poll['vraag'];?>"></td>
	</tr>
	<tr>
		<td colspan=2 height=2 bgcolor=#990000></td>
	</tr>
	<tr>
		<td><B>*Antwoord 1:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="ant1" size=40 value="<? echo $poll['ant1'];?>"></td>
	</tr>
	<tr>
		<td colspan=2 height=2 bgcolor=#990000></td>
	</tr>
	<tr>
		<td><B>*Antwoord 2:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="ant2" size=40  value="<? echo $poll['ant2'];?>"></td>
	</tr>
	<tr>
		<td colspan=2 height=2 bgcolor=#990000></td>
	</tr>
	<tr>
		<td><B>Antwoord 3:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="ant3" size=40  value="<? echo $poll['ant3'];?>"></td>
	</tr>
	<tr>
		<td colspan=2 height=2 bgcolor=#990000></td>
	</tr>
	<tr>
		<td><B>Antwoord 4:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="ant4" size=40  value="<? echo $poll['ant4'];?>"></td>
	</tr>
	<tr>
		<td colspan=2 height=2 bgcolor=#990000></td>
	</tr>
	<tr>
		<td><B>Antwoord 5:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="ant5" size=40  value="<? echo $poll['ant5'];?>"></td>
	</tr>
	<tr>
		<td colspan=2 height=2 bgcolor=#990000></td>
	</tr>
	<tr>
		<td><B>Antwoord 6:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="ant6" size=40  value="<? echo $poll['ant6'];?>"></td>
	</tr>
	<tr>
		<td><B>*Maximaal aantal stemmen:</B>&nbsp;</td>
		<td><INPUT TYPE="text" NAME="maxvote" size=7  value="<? echo $poll['nextvote']?>" ></td>
	</tr>
	<tr>
		<td>&nbsp;</td>
		<td align=right><INPUT TYPE="hidden" name="id" value="<? echo $poll['id'];?>"><INPUT TYPE="submit" value="Wijzig!" size=40></td>
	</tr>
</table></form>

<?}
	
}

}

 }else{
	 echo"SECURITY ERROR: Je hebt hier geen toegang!";
 }

?>
[/code]