Bonjour,


Je suis actuellement en train de réaliser une solution de vote pour les élections de délégués de classe d'un lycée.

J'ai déjà réalisé, le choix de la classe, du professeur principal et la déclaration et l'affichage des candidats déclarés cependant je n'arrive qu'à afficher un suppléant. Dans la page précédente, j'ai la liste des élèves de classe avec une zone de texte dans laquelle je peux associer au candidat un numéro d'idEleve.

De plus, j'ai du mal pour le formulaire de vote, pour prendre en compte toutes les contraintes, c'est à dire qu'il y ait 2 votes au premier tour, qu'on puisse afficher le candidat avec le suppléant et qu'on puisse signaler 2 votes identiques par un même électeur, voilà mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
				include "_session_start.php";
				include "_gestionBase.inc.php"; 
				include "_debut.inc.php";			
 
			echo '
			<form name="formVote" action="vote.php" method="POST">
			<br />
			<h2><u>Vote :</u></h2>
			Saisir votre mot de passe : <input type="password" name="pw" /><br /><br />
			<input type="radio" name="vote" value="" />Blanc ou Nul<br /><br />';
 
 
 
				$candidats = mysql_query ("SELECT * FROM Eleve WHERE candidat = 1 ORDER BY nom");	
				while($donnees = mysql_fetch_array($candidats))
				{
					print '<input type="radio" name="vote" value="'.$donnees['idEleve'].'"/>'.$donnees['nom'].' '.$donnees['prenom'].'<br /><br />';
				}
			?>
			<input type="radio" id="radioAutre" name="vote" value="0" />	<select name="autre" onChange="document.formVote.radioAutre.checked=true;" />
										<option value="0">...</option>
										<?php
											$candidats = mysql_query ("SELECT * FROM Eleve WHERE candidat = '0' ORDER BY nom");
											while($donnees = mysql_fetch_array($candidats))
											{
												print '<option value="'.$donnees['idEleve'].'">'.$donnees['nom'].' '.$donnees['prenom'].'</option>';
											}
										?>
									</select><br /><br />
			<input type="hidden" value="tour1" name="tour" />
			<input type="submit" value="Voter"/>
		</form>
Et la page vote, dans cette page, je n'arrive pas à insérer avec des variables dans la base de donnée cependant "en dur" celà marche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
 
include "_session_start.php"; 
include "_debut.inc.php";
 
 
	$tour=1;
	$id=$_POST['pw'];
	$vote=$_POST['vote'];
	$exprim=1;
	$formTour=$_POST['tour'];
 
 
 
	if ($formTour=='tour1')
	{
		$formRetour='formVote.php';
	}
	else
	{
		$formRetour='formVote2emeTour.php';
	}
 
	if ($vote==null)
	{
		$exprim=0;
	}
 
	if ($vote==0)
	{
		$vote=$_POST['autre'];
	}
 
	include("_gestionBase.inc.php");
 
	if (($tour==2) || ($tour==4))
	{
		$tourPrec=$tour-1;
		$rechVote=mysql_query("SELECT * FROM Electeur, vote WHERE idElecteurV=idElecteur AND motPasse ='".$id."' AND numTour=".$tourPrec);
		$donnee=mysql_fetch_array($rechVote);
		$votePrec=$donnee['premierVote'];
		if ($votePrec==$vote)
		{
			Print '2ème vote identique au 1er<br />
				<a href="formVote.php">Retour au formulaire de vote</a>';
		}
		else
		{
			$sql = "INSERT INTO vote
					VALUES ('".$id."',".$tour.",".$exprim.",".$vote.")";
 
			mysql_query($sql) or die('Vote impossible<br /><a href="'.$formRetour.'">Retour au formulaire de vote</a>');
 
 
			print 'Vote enregistré<br />
					<a href="formVote.php">Retour au formulaire de vote</a>';
		}
	}
	else
	{
	// requête sans variables 
		$sql = "INSERT INTO `vote` ( `idElecteurV` , `numTour` , `premierVote` , `idEleveV` )
VALUES (
'', '1', '1', '87'
);";
		mysql_query($sql) or die('Vote impossible<br /><a href="'.$formRetour.'">Retour au formulaire de vote</a>');
 
 
		print 'Vote enregistré<br />
				<a href="'.$formRetour.'">Retour au formulaire de vote</a>';
	}
 
?>


Merci d'avance.