begin process at 2012 05 31 06:27:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Prob de sondage


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Prob de sondage

jeudi 6 mai 2010 à 01:51:23 | Prob de sondage

Xizar

bonjour à vous, j'aimerais bien que le sondage ci-dessous puisse marcher correctement... tous marche bien exepté pour mon "système" anti-triche par IP j'aimerais savoir pourquoi ca marche pas et comment régler ce problème .. merci...

<?php

$resulta = mysql_query("SELECT * FROM sondage") or die ('Erreur : '.mysql_error() );
$nombre = mysql_num_rows($resulta);
$row = mysql_fetch_array($resulta);
$ip = getenv('REMOTE_ADDR');

if($ip != $row['ip'] ) {

echo '<div id="sondage">
<b style="text-decoration:underline;">Sondage</b>
</div>

<div style="margin-left:720px; margin-top:5px; border:1px dashed #000000; background-color:#D4D4D4; padding:1px; width:173px; height:175px; padding:3px;">
<b>Que penses-tu du Design ?</b>
<br />
<form method="post" action="index.php">
<input type="radio" name="nom" value="sympa" />Ouais, il est simpa
<br />
<br />
<input type="radio" name="nom" value="manque" />Je sais pas, il manque quelque chose
<br />
<br />
<input type="radio" name="nom" value="arrache" />Hmmm, T\'en arrache
<br />
<br />
<INPUT type="submit" value="Envoyer">
</form></div>';

if (!empty($_POST) and $ip != $row['ip'] ){
$ip = getenv('REMOTE_ADDR');
mysql_query("INSERT INTO sondage(nom, ip) VALUES('$_POST[nom]','$ip')");
echo '<SCRIPT LANGUAGE="JavaScript">
document.location.href="http://www.notececi.com/"
</SCRIPT>';
}
}
else{

$req = mysql_query("SELECT * FROM sondage WHERE nom='sympa' ") or die ('Erreur : '.mysql_error() );
$reqnbr = mysql_num_rows($req);
$percent = $reqnbr * 100 / $nombre;
$percentt = round($percent, 0);

$req2 = mysql_query("SELECT * FROM sondage WHERE nom='manque' ") or die ('Erreur : '.mysql_error() );
$reqnbr2 = mysql_num_rows($req2);
$percent2 = $reqnbr2 * 100 / $nombre;
$percentt2 = round($percent2, 0);

$req3 = mysql_query("SELECT * FROM sondage WHERE nom='arrache' ") or die ('Erreur : '.mysql_error() );
$reqnbr3 = mysql_num_rows($req3);
$percent3 = $reqnbr3 * 100 / $nombre;
$percentt3 = round($percent3, 0);

echo '
<div id="sondage">
<b style="text-decoration:underline;">Sondage</b>
</div>

<div style="margin-left:720px; margin-top:5px; border:1px dashed #000000; background-color:#D4D4D4; padding:1px; width:173px; height:175px; padding:3px;">
<b>Résultat(s) de</b>
<br /><b>Que penses-tu du Design ?</b>
<br />
Ouais, il est simpa
<br />
<b>'.$reqnbr.' / '.$percentt.'%</b>
<br />
Je sais pas, il manque quelque chose
<br />
<b>'.$reqnbr2.' / '.$percentt2.'%</b>
<br />
Hmmm, T\'en arrache
<br />
<b>'.$reqnbr3.' / '.$percentt3.'%</b>
<br />
</div>
';
}

echo '<div id="nbrvote">'.$nombre.' vote(s)</div>';
?>
jeudi 6 mai 2010 à 03:24:16 | Re : Prob de sondage

devil_may_cry

Réponse acceptée !
salut
la partie anti-triche ne vas pas marcher
vu que tu fait:
Code PHP :
$resulta = mysql_query("SELECT * FROM sondage") or die ('Erreur : '.mysql_error() );
$nombre = mysql_num_rows($resulta);
$row = mysql_fetch_array($resulta);

ici avec $row = mysql_fetch_array($resulta); tu ne recupere que le premier resultat alors que ta requete retourne N resultat ce qui transforme ton code antitriche efficace en code anti-triche aleatoire en effet ton code ne compare l'ip de l'utilisateur en cours qu'avec le premier resultat renvoyer par ta requetete pour rectifie cela tu doit effectuer une boucle qui comparer chaque row['ip'] avec l'ip en cours
en plus de ca utilise pluto mysql_fetch_assoc que mysql_fetch_array histoire de ne utiliser de ressource unitilement et essaye de revoir des prés tes controle
samedi 8 mai 2010 à 00:22:28 | Re : Prob de sondage

Xizar

Réponse acceptée !
ok je penses comprendre peux-tu m'envoyer la source rectifier car j'ai essayer et jme suis planté.. =/ merci mec
samedi 8 mai 2010 à 02:05:38 | Re : Prob de sondage

devil_may_cry

Réponse acceptée !
comme je te l'avis dit au paravant j'ai pas bien compris la logic de tes controle alors j'ai du changer l'ordre suivant une des logique d'un sondage
Code PHP :
<?php
//dabord verifier si on doit pas prendre en compte un nouveau vote


if (isset($_POST)) {//pas besoin du empty puisque les valeur envoyer sont en lecture seule
    $ip = getenv('REMOTE_ADDR');
	$nom = $_POST['nom'];
    mysql_query("INSERT INTO sondage(nom, ip) VALUES('$nom','$ip')");
     echo '<SCRIPT LANGUAGE="JavaScript">

           document.location.href="http://www.notececi.com/"
          </SCRIPT>';

     }
}

//on affiche les resultats
$sql_nombre = mysql_query("SELECT COUNT(*) AS nombre FROM sondage") or die ('Erreur : '.mysql_error() );
$req_nombre = mysql_fetch_assoc($sql_nombre);
$nombre = $req_nombre['nombre'];

$req = mysql_query("SELECT * FROM sondage WHERE nom='sympa' ") or die ('Erreur : '.mysql_error() );
$reqnbr = mysql_num_rows($req);
$percent = $reqnbr * 100 / $nombre;
$percentt = round($percent, 0);

$req2 = mysql_query("SELECT * FROM sondage WHERE nom='manque' ") or die ('Erreur : '.mysql_error() );
$reqnbr2 = mysql_num_rows($req2);
$percent2 = $reqnbr2 * 100 / $nombre;
$percentt2 = round($percent2, 0);

$req3 = mysql_query("SELECT * FROM sondage WHERE nom='arrache' ") or die ('Erreur : '.mysql_error() );
$reqnbr3 = mysql_num_rows($req3);
$percent3 = $reqnbr3 * 100 / $nombre;
$percentt3 = round($percent3, 0);

echo '

<div id="sondage">
<b style="text-decoration:underline;">Sondage</b>
</div>

<div style="margin-left:720px; margin-top:5px; border:1px dashed #000000; background-color:#D4D4D4; padding:1px; width:173px; height:175px; padding:3px;">
<b>Résultat(s) de</b>
<br /><b>Que penses-tu du Design ?</b>
<br />
Ouais, il est simpa
<br />
<b>'.$reqnbr.' / '.$percentt.'%</b>
<br />
Je sais pas, il manque quelque chose
<br />
<b>'.$reqnbr2.' / '.$percentt2.'%</b>
<br />
Hmmm, T\'en arrache

<br />
<b>'.$reqnbr3.' / '.$percentt3.'%</b>
<br />
</div>
';

echo '<div id="nbrvote">'.$nombre.' vote(s)</div>';

//Ici maintenant si on doit oui ou non afficher le formulaire de vote
$resulta = mysql_query("SELECT * FROM sondage") or die ('Erreur : '.mysql_error() );

$ip = getenv('REMOTE_ADDR');

//cette variable va dire oui ou non on 'a trouver l'ip 
// elle est initialiser a false si a la sortie de la boucle elle vau true c'est qu'on a trouver
// l'ip
$is_found = false;
while ($row = mysql_fetch_assoc ($resuta ) ) {

       // si on trouve l'ip
	   if ($row['ip'] == $ip ){
	       
		   // On met is_found a true
		   $is_found = true;
		   // Et on force l'arret de la boucle initule de continuer
		   break; 
	   }
}
//liberer les ressources
mysql_free_result($resulta);

//test de la valeur de is_found false on affiche le formulaire true on affiche pas

if (!$is_found) {//is_found vaus false on affiche le formulaire
echo '<div id="sondage">

<b style="text-decoration:underline;">Sondage</b>
</div>

<div style="margin-left:720px; margin-top:5px; border:1px dashed #000000; background-color:#D4D4D4; padding:1px; width:173px; height:175px; padding:3px;">
<b>Que penses-tu du Design ?</b>
<br />
<form method="post" action="index.php">
<input type="radio" name="nom" value="sympa" />Ouais, il est simpa
<br />
<br />
<input type="radio" name="nom" value="manque" />Je sais pas, il manque quelque chose
<br />
<br />
<input type="radio" name="nom" value="arrache" />Hmmm, T\'en arrache

<br />
<br />
<INPUT type="submit" value="Envoyer">
</form></div>';

} //pas besoin de traiter l'autre cas puisqu'il y'a que deux cas
?>
samedi 8 mai 2010 à 13:58:19 | Re : Prob de sondage

Xizar

ouais merci :P ca m'aide énormément mais par contre j'obtiens quelques petites erreurs encore sur la ligne 6 et 73

Notice: Undefined index: nom in C:\WWW\website\modules\sondage.inc.php on line 6
Sondage

Notice: Undefined variable: resuta in C:\WWW\website\modules\sondage.inc.php on line 73

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\WWW\website\modules\sondage.inc.php on line 73

samedi 8 mai 2010 à 14:04:46 | Re : Prob de sondage

devil_may_cry

Notice: Undefined index: nom in C:\WWW\website\modules\sondage.inc.php on line 6
Sondage // ici ton formulaire n'as pas envoyer la variable nom verifie du cote de ton formulaire

Notice: Undefined variable: resuta in C:\WWW\website\modules\sondage.inc.php on line 73
ici change resuta en resulta ce sont mes erreur de frappe
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\WWW\website\modules\sondage.inc.php on line 73 //des que tu corrigera la precedente celle la devra aller
lundi 10 mai 2010 à 23:38:29 | Re : Prob de sondage

Xizar

Ok merci pour l'erreur 73 mais du cote de mon formulaire je n'ai rien trouvé qui clochait ?
lundi 10 mai 2010 à 23:40:08 | Re : Prob de sondage

Xizar

à chaque fois j'actualise la page une nouvelle entrée s'ajoute à ma base de donnée et elle le nom est vide =/
mardi 11 mai 2010 à 00:22:30 | Re : Prob de sondage

devil_may_cry

Réponse acceptée !
est-ce que le formulaire s'affiche a chaque fois que tu charge la page meme si tu as deja poster
mardi 11 mai 2010 à 00:27:53 | Re : Prob de sondage

devil_may_cry

Réponse acceptée !
au fait le probleme vien qu'on test $_POST c'est qui est vrai donc change
if (isset($_POST)) {
---
par if (isset($_POST['nom'])) {
et sa devra marcher

1 2 3

Cette discussion est classée dans : nombre, mysql, ip, query, sondage


Répondre à ce message

Sujets en rapport avec ce message

probleme update et delete [ par blinix123 ] Bonjour à tous, alors voila, j'ai un script qui me permet de compter le nombre de visiteurs totale et le nombre de visiteurs en ligne, or bien evidemm Erreur dans mon code [ par massbbc ] salut je suis debutant en PHP et je voudrais mettre un compteur sur mon site. Mis le compteur n'incrémente pas il reste toujopurs a un quand j'essai d [deplacé] compteur pour un site [ par massbbc ] Je debute et je veu mettre un compteur sur mon site alors voici mon code mais il n'ncrémente pas SVP aidé moi merci Condition d'une boucle [ par christobal ] Bonjour, L'objectif de ce code est d'affiché la prochaine date de sortie ou s'il n'y a plus de date l'affichage d'un message.Mon pb vient du fait que problème de création de moteur de recherche [ par astuces_jeux ] bonjour,j'ai utilisé le moteur de recherche ici : http://www.plb.fr/v3/ccm/php/phpmoteur.phpet j'ai ces deux erreur :Parse error: syntax error, unexpe Select From where [ par DVTAZ ] Bonjour à toutes et à tousVoila, ne serait il pas possible de simplifier ce genre de code,(voir ci-dessous)je fait une requete avec un critere identiq Requete mysql [ par antho2005 ] Salut,j'ai un blem je fais une requete mysql je fais mysql_query mais il ne supprime rien, il doit y avoir une erreur.Voici mon bout de code :$requete PHP n'affiche pas tout les résultats [ par digitRox ] Bonjour, Mon problème en fort simple : Quand j'exécute une requête dans phpmyadmin tout fonctionne bien et lorsque je met celle-ci dans mon code php, affichage aléatoire [ par ag3c ] bonjour, avec dream 8 j'ai crée une page principale/détail qui me génère un tableau en région répétée dans ma page principale avec un lien (j'ai chois Probleme de couleur [ par christuckers ] Bon ba re tout le monde !! Je ne sais pas si je m'adresse au bon endroit, mais comme je vois une différence entre IE 6.0 et Firefox 1.5.0 ...En dessou


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales