IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

vote sous php


Sujet :

PHP & Base de données

  1. #21
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 18
    Points : 3
    Points
    3
    Par défaut vote sous php
    Voilà le formulaire permettant à l'electeur de se connecter:
    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
     
    <!DOCTYPE html>
    <html>
    	<head>
    		<title>Connexion de l'electeur</title>
    	</head>
     
    	<body>
    		<form action="vote.php" method="post">
    			<table>
    			<tr>
    			<td>Pseudo : <input type="text" name="pseudo"/></td>
    			</tr>
     
    			<tr>
    			<td>Mot de passe : <input type="password" name="mdp"/></td>
    			</tr>
     
    			<tr>
    			<td><input type="submit" value="Connexion"/></td>
    			</tr>
     
    			</table>
    		</form>
    	</body>
    </html>
    Celui-ci c'est pour lui permettre de voter:
    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
     
    <!DOCTYPE html>
    <html>
    <head> 
    	<title>Formulaire de vote</title>  
    </head>
     
    <body>
     
    	<form  method="post" action="vote.php">
    		<table>
    		<tr>
    		<td>num_vote :</td><td><input type="text" name="id_candidat"/></td>
     
    		</tr>
     
    		<tr>
    		<td><input type="submit" value="Vote"/></td>
     
    		</tr>
     
    		</table>
    	</form>
    </body>
     
    </html>

  2. #22
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 18
    Points : 3
    Points
    3
    Par défaut vote sous php
    Le code modifié est le suivant :
    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
    <?php
     
    $pseudo = $_POST["pseudo"];
    $mdp = $_POST["mdp"];
    require "init.php";
     
    $query = "SELECT * FROM electeurs WHERE pseudo like '".$pseudo."' and mdp like '".$mdp."';";
    $result = mysqli_query( $con, $query);
     
    if(mysqli_num_rows($result)>0)
    {
    	$query1 = "SELECT COUNT(*) AS nbre_vote FROM vote WHERE id_electeur = '".$_SESSION['id_electeur']."';";
    	$result1 = mysqli_query($con, $query1);
     
    	if(mysqli_num_rows($result1)==0)
    	{
    		// Requete qui insere les données dans la table vote
    		$query2 = "INSERT INTO vote(id_candidat, id_electeur) values (".$_POST['id_candidat'].", ".$_SESSION['id_electeur'].");";
    		$result2 = mysqli_query($con, $query2);
    	}
    	else
    	{
    		echo "Vous avez déjà voté !!";
    	}
    }
    else
    {
    	echo "Veuillez entrer les bonnes coordonnées !";
    }
     
    ?>
    J'ai une erreur à la ligne 12 :
    ( ! ) Notice: Undefined variable: _SESSION in C:\wamp\www\voteBDE\vote.php on line 12

  3. #23
    Invité
    Invité(e)
    Par défaut
    Pour pouvoir utiliser les SESSIONs, il faut avoir en tout début de script :
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if( empty(session_id()) ){ session_start(); }

  4. #24
    Invité
    Invité(e)
    Par défaut
    1/ Identification

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = "SELECT * FROM electeurs WHERE pseudo like '".$pseudo."' and mdp like '".$mdp."';";
    Non ! il faut remplacer "like" par "=" !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = "SELECT * FROM electeurs WHERE pseudo = '".$pseudo."' and mdp = '".$mdp."';";
    2/ VOTE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		<td>num_vote :</td><td><input type="text" name="id_candidat"/></td>
    Non.

    Il faut ici effectivement mettre ici :
    • soit une liste déroulante des candidats (<select>)
    • soit les boutons radio, avec le nom du candidat à coté (<input type="radio" />)

    On récupère alors l'id_candidat de celui choisi.

  5. #25
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 18
    Points : 3
    Points
    3
    Par défaut vote sous php
    Bonsoir
    Je présente ci-dessous les modifications que j'ai fait après vos dernières remarques.

    Formulaire de vote :
    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
    <!DOCTYPE html>
    <html>
    <head> 
    	<title>Formulaire de vote</title>  
    </head>
     
    <body>
     
    	<form  method="post" action="vote.php">
    		<p>
     
    		Quel candidat choisissez vous ?
    		<input type="radio" name="candidats" value="1" id="1"/><label for="1">Jovile</label>
    		<input type="radio" name="candidats" value="2" id="2"/><label for="2">Jovile 1</label>
     
    		<table>
    		<tr>
    		<td><input type="submit" value="Vote"/></td>
    		</tr>
    		</table>
     
    		</p>
    	</form>
    </body>
     
    </html>
    J'ai mis "session_start();" au début comme vous me l'avez conseillé et j'ai ajouté un "header" à la ligne 19 pour être redirigé vers le formulaire de vote :
    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
    <?php
     
    session_start();
     
    $pseudo = $_POST["pseudo"];
    $mdp = $_POST["mdp"];
    require "init.php";
     
    $query = "SELECT * FROM electeurs WHERE pseudo='".$pseudo."' and mdp='".$mdp."';";
    $result = mysqli_query( $con, $query);
     
    if(mysqli_num_rows($result)>0)
    {
    	$query1 = "SELECT COUNT(*) AS nbre_vote FROM vote WHERE id_electeur = '".$_SESSION['id_electeur']."';";
    	$result1 = mysqli_query($con, $query1);
     
    	if(mysqli_num_rows($result1)==0)
    	{
    		header('Location : formulaire_vote.html');
     
    		// Requete qui insere les données dans la table vote
    		$query2 = "INSERT INTO vote(id_candidat, id_electeur) values (".$_POST['id_candidat'].", ".$_SESSION['id_electeur'].");";
    		$result2 = mysqli_query($con, $query2);
    	}
    	else
    	{
    		echo "Vous avez déjà voté !!";
    	}
    }
    else
    {
    	echo "Veuillez entrer les bonnes coordonnées !";
    }
     
    ?>
    Après connexion de l'electeur j'ai une erreur à la ligne 14 :
    ( ! ) Notice: Undefined index: id_electeur in C:\wamp\www\voteBDE\vote.php on line 14

  6. #26
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 18
    Points : 3
    Points
    3
    Par défaut vote sous php
    Salut tout le monde, j'ai un peu avancé avec mon code php :
    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
    <?php
     
    session_start();
     
    $pseudo = $_POST["pseudo"];
    $mdp = $_POST["mdp"];
    require "init.php";
     
    $query = "SELECT id_electeur FROM electeurs WHERE pseudo='".$pseudo."' and mdp='".$mdp."';";
    $result = mysqli_query( $con, $query);
    $req = mysqli_fetch_assoc($result);
     
    if(!$req)
    {
    	echo "Veuillez entrer les bonnes coordonnées !";	
    }
    else
    {
    	$_SESSION['id_electeur'] = $req['id_electeur'];
     
    	$query1 = "SELECT COUNT(*) FROM vote WHERE id_electeur = ".intval($_SESSION['id_electeur']).";";
    	$result1 = mysqli_query($con, $query1);
     
    	if(!$result1 )
    	{
    		// Requete qui insere les données dans la table vote
    		$query2 = "INSERT INTO vote(id_candidat, id_electeur) values (".$_POST['id_candidat'].", ".$_SESSION['id_electeur'].");";
    		$result2 = mysqli_query($con, $query2);
    	}
    	else
    	{
    		echo "Vous avez déjà voté !!";
    	}
    }
     
    mysqli_close($con);
     
    ?>
    J'arrive à maintenant insérer les deux id (id_electeur et id_candidat) dans la table vote.
    Mon souci actuel est que la condition "if" de la ligne 24 ne marche pas, il y a directement un saut vers le "else", comment dois-je faire pour que cette condition puisse être respectée ?

  7. #27
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Tu te trompes.

    $result1 n'est pas le résultat du count, et vaut true puisque la requête s'est bien passée.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT COUNT(*) AS total FROM ......
    Il faut récupérer le total, et faire la condition dessus.

  8. #28
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 18
    Points : 3
    Points
    3
    Par défaut vote sous php
    Bonsoir, j'ai modifié le code et tout marche à présent. Voici le code final :
    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
    <?php
     
    session_start();
     
    $pseudo = $_POST["pseudo"];
    $mdp = $_POST["mdp"];
    require "init.php";
     
    $query = "SELECT id_electeur FROM electeurs WHERE pseudo='".$pseudo."' and mdp='".$mdp."';";
    $result = mysqli_query( $con, $query);
    $req = mysqli_fetch_assoc($result);
     
    if(!$req)
    {
    	echo "Veuillez entrer les bonnes coordonnées !";	
    }
    else
    {
    	$_SESSION['id_electeur'] = $req['id_electeur'];
     
    	$query1 = "SELECT COUNT(*) as nbre_vote FROM vote WHERE id_electeur = ".intval($_SESSION['id_electeur']).";";
    	$result1 = mysqli_query($con, $query1);
    	$req1 = mysqli_fetch_assoc($result1);
     
    	if($req1['nbre_vote']==0 )
    	{
    		// Requete qui insere les données dans la table vote
    		$query2 = "INSERT INTO vote(id_candidat, id_electeur) values (".$_POST['id_candidat'].", ".$_SESSION['id_electeur'].");";
    		$result2 = mysqli_query($con, $query2);
    	}
    	else
    	{
    		echo "Vous avez déjà voté !!";
    	}
    }
     
    mysqli_close($con);
     
    ?>
    Merci à tous pour votre soutien, en particulier jreaux62 pour ta participation et le suivi.

Discussions similaires

  1. Erreur sous PHP MyAdmin (PMA database?)
    Par Matlight dans le forum Installation
    Réponses: 5
    Dernier message: 28/10/2010, 19h38
  2. [Dates] Planification sous PHP !?
    Par Thierry8 dans le forum Langage
    Réponses: 11
    Dernier message: 20/12/2005, 13h39
  3. [Sécurité] creation de compte sous php
    Par marouman dans le forum Langage
    Réponses: 1
    Dernier message: 02/12/2005, 22h44
  4. [MySQL] Requete sous php
    Par cubepiege dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/11/2005, 18h45
  5. requête mysql sous php
    Par remi59 dans le forum Débuter
    Réponses: 9
    Dernier message: 03/07/2003, 10h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo