Se connecter avec
S'enregistrer | Connectez-vous

Création d'un sondage avec de base de donnée

Dernière réponse : dans Programmation

Salut à tous!
Je programme actuellement un petit site web et j'utilise un peu de php pour le rendre plus dynamique.
Le problème c'est que j'aimerais réaliser un petit sondage mais il ne fonctionne pas.
Je passe des heures à modifier mon code et il ne fonction jamais.
Si quelqu'un pourrait m'aider ca serait vraiment simpa =)

Voici mon code php:


  1. <?php
  2. $sql_serveur = "localhost";
  3. $sql_base = "base";
  4. $sql_login = "root";
  5. $sql_password = "";
  6.  
  7. @mysql_connect($sql_serveur, $sql_login, $sql_password) or die(
  8. "Connection interrompue");
  9. @mysql_select_db($sql_base);
  10.  
  11. $ip = $_SERVER['REMOTE_ADDR'];
  12. $unix = time();
  13. $temps = time()-3600;
  14.  
  15. $verifier = "SELECT ip FROM vote WHERE ip='$ip' AND unix > '$temps'";
  16. $voter = 'mysql_query($verifier,$connection)';
  17.  
  18. if(@mysql_num_rows($voter)!='0'){
  19.  
  20. echo
  21. '<p style="font-size:20px;text-align:center;color:#660000"><strong>Merci' .
  22. ' d\'avoir voté !</strong></p>';
  23. $sql = "SELECT reponse FROM vote WHERE titre='lieu_de_championat'";
  24.  
  25. $result = 'mysql_query($sql , $connection)';
  26.  
  27. while($resultat = 'mysql_fetch_array($result)') {
  28. $cadre[] = $resultat['reponse'];
  29.  
  30. }
  31.  
  32. $totalvote= 'count($cadre)';
  33.  
  34. $totalreponse = 'array_count_values($cadre)';
  35.  
  36. $reponse1 = 'bcdiv($totalreponse[1]*100, $totalvote, 2)';
  37. $reponse2 = 'bcdiv($totalreponse[2]*100, $totalvote, 2)';
  38. $reponse3 = 'bcdiv($totalreponse[3]*100, $totalvote, 2)';
  39. $reponse4 = 'bcdiv($totalreponse[4]*100, $totalvote, 2)';
  40.  
  41.  
  42. function VerifText($text,$valeur,$reponse,$totaldesreponse){
  43. if ($text < '1'){
  44.  
  45. $text1 = '<strong> - '.$valeur.' : </strong>'.$reponse.
  46. '% <strong>0</strong> vote.<br />';
  47. }
  48. if ($text == '1'){
  49.  
  50. $text1 = '<strong> - '.$valeur.' : </strong>'.$reponse.
  51. '% <img src="barre.gif" alt="chargement impossible" height="5" width="'.
  52. $reponse.'" /> <strong>'.$totaldesreponse.'</strong> vote.<br />';
  53. }
  54. if ($text > '1'){
  55.  
  56. $text1 = '<strong> - '.$valeur.' : </strong>'.$reponse.
  57. '% <img src="barre.gif" alt="chargement impossible" height="5" width="'.
  58. $reponse.'" /> <strong>'.$totaldesreponse.'</strong> votes.<br />';
  59. }
  60. return $text1;
  61. }
  62.  
  63. echo VerifText($totalreponse[1],'valeur 1',$reponse1,$totalreponse[1]).
  64. VerifText($totalreponse[2],'valeur 2',$reponse2,$totalreponse[2]). VerifText(
  65. $totalreponse[3],'valeur 3',$reponse3,$totalreponse[3]).VerifText($totalreponse[
  66. 4],'valeur 4',$reponse4,$totalreponse[4]);
  67. echo '<strong> Total votes : </strong>'.$totalvote.'<br /><br /><br />';
  68.  
  69. }else{
  70.  
  71. echo 'Quelle Valeur souhaité vous ? <br /><br />';
  72. echo
  73. '<form method="POST" action="index.php?vote=ok"><div><input class="zonetext"' .
  74. ' type="radio" value="1" name="choix" /> - Valeur 1<br /><input class="zonetex' .
  75. 't" type="radio" value="2" name="choix" /> - Valeur 2<br /><input class="zonet' .
  76. 'ext" type="radio" value="3" name="choix" /> - Valeur 3<br /><input class="zon' .
  77. 'etext" type="radio" value="4" name="choix" /> - Valeur 4<br /><input class="z' .
  78. 'onetext" type="submit" value=" Ok ! " /></div></form>';
  79.  
  80. }
  81.  
  82. if (isset($_GET['vote']) AND isset ($_POST['choix'])){
  83. if ($_GET['vote']= "ok" AND $_POST['choix']!=0){
  84. $enregistrer =
  85. "INSERT vote SET id='', titre='lieu_de_championat', reponse='$_POST[choix]'," .
  86. " ip='$ip', unix='$unix'";
  87. 'mysql_query ($enregistrer, $connection)';
  88. 'header("Location: index")';
  89. }}
  90.  
  91. ?>

Autres pages sur : creation sondage base donnee

Lassé par la pub ? Créez un compte

Voi la pour mon code :

  1. <?php
  2. $sql_serveur = "localhost";
  3. $sql_base = "base";
  4. $sql_login = "root";
  5. $sql_password = "";
  6.  
  7. @mysql_connect($sql_serveur, $sql_login, $sql_password) or die(
  8. "Connection interrompue");
  9. @mysql_select_db($sql_base);
  10.  
  11. $ip = $_SERVER['REMOTE_ADDR'];
  12. $unix = time();
  13. $temps = time()-3600;
  14.  
  15. $verifier = "SELECT ip FROM vote WHERE ip='$ip' AND unix > '$temps'";
  16. $voter = mysql_query($verifier,$connection);
  17.  
  18. if(@mysql_num_rows($voter)!='0'){
  19.  
  20. echo
  21. '<p style="font-size:20px;text-align:center;color:#660000"><strong>Merci' .
  22. ' d\'avoir voté !</strong></p>';
  23. $sql = "SELECT reponse FROM vote WHERE titre='lieu_de_championat'";
  24.  
  25. $result = mysql_query($sql , $connection);
  26.  
  27. while($resultat = mysql_fetch_array($result)) {
  28. $cadre[] = $resultat['reponse'];
  29.  
  30. }
  31.  
  32. $totalvote= count($cadre);
  33.  
  34. $totalreponse = array_count_values($cadre);
  35.  
  36. $reponse1 = bcdiv($totalreponse[1]*100, $totalvote, 2);
  37. $reponse2 = bcdiv($totalreponse[2]*100, $totalvote, 2);
  38. $reponse3 = bcdiv($totalreponse[3]*100, $totalvote, 2);
  39. $reponse4 = bcdiv($totalreponse[4]*100, $totalvote, 2);
  40.  
  41.  
  42. function VerifText($text,$valeur,$reponse,$totaldesreponse){
  43. if ($text < '1'){
  44.  
  45. $text1 = '<strong> - '.$valeur.' : </strong>'.$reponse.
  46. '% <strong>0</strong> vote.<br />';
  47. }
  48. if ($text == '1'){
  49.  
  50. $text1 = '<strong> - '.$valeur.' : </strong>'.$reponse.
  51. '% <img src="barre.gif" alt="chargement impossible" height="5" width="'.
  52. $reponse.'" /> <strong>'.$totaldesreponse.'</strong> vote.<br />';
  53. }
  54. if ($text > '1'){
  55.  
  56. $text1 = '<strong> - '.$valeur.' : </strong>'.$reponse.
  57. '% <img src="barre.gif" alt="chargement impossible" height="5" width="'.
  58. $reponse.'" /> <strong>'.$totaldesreponse.'</strong> votes.<br />';
  59. }
  60. return $text1;
  61. }
  62.  
  63. echo VerifText($totalreponse[1],'valeur 1',$reponse1,$totalreponse[1]).
  64. VerifText($totalreponse[2],'valeur 2',$reponse2,$totalreponse[2]). VerifText(
  65. $totalreponse[3],'valeur 3',$reponse3,$totalreponse[3]).VerifText($totalreponse[
  66. 4],'valeur 4',$reponse4,$totalreponse[4]);
  67. echo '<strong> Total votes : </strong>'.$totalvote.'<br /><br /><br />';
  68.  
  69. }else{
  70.  
  71. echo 'Quelle Valeur souhaité vous ? <br /><br />';
  72. echo
  73. '<form method="POST" action="index.php?vote=ok"><div><input class="zonetext"' .
  74. ' type="radio" value="1" name="choix" /> - Valeur 1<br /><input class="zonetex' .
  75. 't" type="radio" value="2" name="choix" /> - Valeur 2<br /><input class="zonet' .
  76. 'ext" type="radio" value="3" name="choix" /> - Valeur 3<br /><input class="zon' .
  77. 'etext" type="radio" value="4" name="choix" /> - Valeur 4<br /><input class="z' .
  78. 'onetext" type="submit" value=" Ok ! " /></div></form>';
  79.  
  80. }
  81.  
  82. if (isset($_GET['vote']) AND isset ($_POST['choix'])){
  83. if ($_GET['vote']= "ok" AND $_POST['choix']!=0){
  84. $enregistrer =
  85. "INSERT vote SET id='', titre='lieu_de_championat', reponse='$_POST[choix]'," .
  86. " ip='$ip', unix='$unix'";
  87. mysql_query ($enregistrer, $connection);
  88. header("Location: index");
  89. }}
  90.  
  91. ?>


et j'ai droit à des messages comme ceux ci :

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in D:\instalation\wamp\wamp\www\allonepiece\index.php on line 132

Warning: Cannot modify header information - headers already sent by (output started at D:\instalation\wamp\wamp\www\allonepiece\index.php:15) in D:\instalation\wamp\wamp\www\allonepiece\index.php on line 133

et d'autr du même genre.

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in D:\instalation\wamp\wamp\www\allonepiece\index.php on line 61
Expert Programmation

Pour le 1er warning :
Un INSERT ne se fait pas avec INSERT / SET, mais INSERT INTO ... VALUES (...)
  1. $enregistrer = "INSERT vote SET id='', titre='lieu_de_championat', reponse='$_POST[choix]'," .
  2. " ip='$ip', unix='$unix'";

Exemple :
  1. $choix = $_POST['choix']
  2. $enregistrer = "INSERT INTO vote (titre, reponse, ip, unix) VALUES('lieu_de_championat', '$choix', '$ip', '$unix')";


Et il faut aussi vérifier les données qu'il y a dans choix afin que les données soient valides, parce que sinon on peut casser toute ta base de données.

Pour le 2ème warning, tu l'as parce que tu as le 1er warning.

Et le 3ème warning, je ne vois pas quelle est la ligne 61 dans ton cas, du coup difficile de te dire.

voila je viens de changer ce que tu m'a dit mais ca ne fonctionne toujours pas j'ai encore des messages d'erreur.

Je pense que il n'enregistre pas les données dans la base de donnée parce que lorsque je vais dans phpmyadmin l'adresse ip, l'unix, ect... n'est pas enregistrer il n'y a rien.
revoici mon code (jte met toute la pge comme ca il n'y a pas d'erreur dans la numérotation des lignes):

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>">
  3.  
  4. <html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>" xml:lang="fr" >
  5.  
  6. <head>
  7.  
  8. <link rel="stylesheet" type="text/css"title="all one-piece" href="mycss.css" />
  9. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  10.  
  11. <title>All One Piece</title>
  12.  
  13. </head>
  14.  
  15. <body>
  16.  
  17. <div id="all">
  18.  
  19. <?php include("entete.php"); ?>
  20.  
  21. <?php include("menu_gauche.php"); ?>
  22.  
  23. <?php include("menu_droite.php"); ?>
  24.  
  25. <div id="corps">
  26.  
  27.  
  28. <img src ="bienvenue.bmp"/>
  29.  
  30. <center><p>Ce site est consacré à l'univers des mangas, il s'adresse à tout public mais particulièrement
  31. aux fans du meillieur manga de tous les temps, j'ai nomé one piece,...</br></br>
  32. Vous y trouverez tout ce que vous shouaitez à travers les différentes rubriques ; Des images, des informations sur la série,
  33. les épisodes, l'actualité du manga, ...</br></br>
  34. Et n'hésitez pas à me contacter si vous avez des recommandations à me faire, ou des conseils à donner.</br></br>
  35.  
  36. Bonne visite!</p></center>
  37.  
  38. </br>
  39.  
  40. <center><img src ="acc.jpg" height="350px" width="520px"/></center>
  41.  
  42. </br></br>
  43.  
  44. <img src ="actu.bmp"/>
  45.  
  46. <?php
  47. $sql_serveur = "localhost";
  48. $sql_base = "base";
  49. $sql_login = "root";
  50. $sql_password = "";
  51.  
  52. @mysql_connect($sql_serveur, $sql_login, $sql_password) or die(
  53. "Connection interrompue");
  54. @mysql_select_db($sql_base);
  55.  
  56. $ip = $_SERVER['REMOTE_ADDR'];
  57. $unix = time();
  58. $temps = time()-3600;
  59.  
  60. $verifier = "SELECT ip FROM vote WHERE ip='$ip' AND unix > '$temps'";
  61. $voter = mysql_query($verifier,$connection);
  62.  
  63. if(@mysql_num_rows($voter)!='0'){
  64.  
  65. echo
  66. '<p style="font-size:20px;text-align:center;color:#660000"><strong>Merci' .
  67. ' d\'avoir voté !</strong></p>';
  68. $sql = "SELECT reponse FROM vote WHERE titre='lieu_de_championat'";
  69.  
  70. $result = mysql_query($sql , $connection);
  71.  
  72. while($resultat = mysql_fetch_array($result)) {
  73. $cadre[] = $resultat['reponse'];
  74.  
  75. }
  76.  
  77. $totalvote= count($cadre);
  78.  
  79. $totalreponse = array_count_values($cadre);
  80.  
  81. $reponse1 = bcdiv($totalreponse[1]*100, $totalvote, 2);
  82. $reponse2 = bcdiv($totalreponse[2]*100, $totalvote, 2);
  83. $reponse3 = bcdiv($totalreponse[3]*100, $totalvote, 2);
  84. $reponse4 = bcdiv($totalreponse[4]*100, $totalvote, 2);
  85.  
  86.  
  87. function VerifText($text,$valeur,$reponse,$totaldesreponse){
  88. if ($text < '1'){
  89.  
  90. $text1 = '<strong> - '.$valeur.' : </strong>'.$reponse.
  91. '% <strong>0</strong> vote.<br />';
  92. }
  93. if ($text == '1'){
  94.  
  95. $text1 = '<strong> - '.$valeur.' : </strong>'.$reponse.
  96. '% <img src="barre.gif" alt="chargement impossible" height="5" width="'.
  97. $reponse.'" /> <strong>'.$totaldesreponse.'</strong> vote.<br />';
  98. }
  99. if ($text > '1'){
  100.  
  101. $text1 = '<strong> - '.$valeur.' : </strong>'.$reponse.
  102. '% <img src="barre.gif" alt="chargement impossible" height="5" width="'.
  103. $reponse.'" /> <strong>'.$totaldesreponse.'</strong> votes.<br />';
  104. }
  105. return $text1;
  106. }
  107.  
  108. echo VerifText($totalreponse[1],'valeur 1',$reponse1,$totalreponse[1]).
  109. VerifText($totalreponse[2],'valeur 2',$reponse2,$totalreponse[2]). VerifText(
  110. $totalreponse[3],'valeur 3',$reponse3,$totalreponse[3]).VerifText($totalreponse[
  111. 4],'valeur 4',$reponse4,$totalreponse[4]);
  112. echo '<strong> Total votes : </strong>'.$totalvote.'<br /><br /><br />';
  113.  
  114. }else{
  115.  
  116. echo 'Quelle Valeur souhaité vous ? <br /><br />';
  117. echo
  118. '<form method="POST" action="index.php?vote=ok"><div><input class="zonetext"' .
  119. ' type="radio" value="1" name="choix" /> - Valeur 1<br /><input class="zonetex' .
  120. 't" type="radio" value="2" name="choix" /> - Valeur 2<br /><input class="zonet' .
  121. 'ext" type="radio" value="3" name="choix" /> - Valeur 3<br /><input class="zon' .
  122. 'etext" type="radio" value="4" name="choix" /> - Valeur 4<br /><input class="z' .
  123. 'onetext" type="submit" value=" Ok ! " /></div></form>';
  124.  
  125. }
  126.  
  127. if (isset($_GET['vote']) AND isset ($_POST['choix'])){
  128. if ($_GET['vote']= "ok" AND $_POST['choix']!=0){
  129. $enregistrer = "INSERT INTO vote (titre, reponse, ip, unix) VALUES('lieu_de_championat', '$choix', '$ip', '$unix')";
  130. mysql_query ($enregistrer, $connection);
  131. header("Location: index");
  132. }}
  133.  
  134. ?>
  135.  
  136.  
  137.  
  138.  
  139. </div>
  140.  
  141. <?php include("pied_de_page.php"); ?>
  142.  
  143.  
  144.  
  145. </div>
  146.  
  147.  
  148. </body>
  149.  
  150.  
  151. </html>




et les messages d'erreur :

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in D:\instalation\wamp\wamp\www\allonepiece\index.php on line 61

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in D:\instalation\wamp\wamp\www\allonepiece\index.php on line 129

Warning: Cannot modify header information - headers already sent by (output started at D:\instalation\wamp\wamp\www\allonepiece\index.php:15) in D:\instalation\wamp\wamp\www\allonepiece\index.php on line 130


merci pour ton aide

Voila on avance...

Ca fonctionne ... à moité...

Lorsque je coche une valeur et que j'envoie, il me remet la page avec le questionnaire puis je recoche ma valeur et je réenvoie alors la il m'affiche les résulats mais.... problème.

Il ne compte pas mon vote ( il ne met pas le nombre de vote pour "valeur1", sa reste a 0) mais par contre pour le nombre de vote totale a chaque foi que j'actualise la page, il compte un vote en +.

Ca fonctionne sauf que il y un dernier problème...

Lorsque je vote peut imoprte que je vote valeur1 ou valeur 4 il compte toujours comme si j'avais voter valeur 1...

voicimon code :

<?php
$sql_serveur = "localhost";
$sql_base = "base";
$sql_login = "root";
$sql_password = "";

@mysql_connect($sql_serveur, $sql_login, $sql_password) or die(
"Connection interrompue");
@mysql_select_db($sql_base);

$ip = $_SERVER['REMOTE_ADDR'];
$unix = time();
$temps = time()-10;

if (isset($_GET['vote']) AND isset ($_POST['choix'])){
if ($_GET['vote']= "ok" AND $choix = $_POST['choix']!=0){

$enregistrer = "INSERT INTO vote (titre, reponse, ip, unix) VALUES('lieu_de_championat', '$choix', '$ip', '$unix')";
mysql_query ($enregistrer);

}}

$verifier = "SELECT ip FROM vote WHERE ip='$ip' AND unix > '$temps'";
$voter = mysql_query($verifier);


if(@mysql_num_rows($voter)!='0'){

echo
'<p style="font-size:20px;text-align:center;color:#660000"><strong>Merci' .
' d\'avoir voté !</strong></p>';
$sql = "SELECT reponse FROM vote WHERE titre='lieu_de_championat'";

$result = mysql_query($sql);

while($resultat = mysql_fetch_array($result)) {
$cadre[] = $resultat['reponse'];

}

$totalvote= count($cadre);

$totalreponse = array_count_values($cadre);

$reponse1 = bcdiv($totalreponse[1]*100, $totalvote, 2);
$reponse2 = bcdiv($totalreponse[2]*100, $totalvote, 2);
$reponse3 = bcdiv($totalreponse[3]*100, $totalvote, 2);
$reponse4 = bcdiv($totalreponse[4]*100, $totalvote, 2);


function VerifText($text,$valeur,$reponse,$totaldesreponse){
if ($text < '1'){

$text1 = '<strong> - '.$valeur.' : </strong>'.$reponse.
'% <strong>0</strong> vote.<br />';
}
if ($text = '1'){

$text1 = '<strong> - '.$valeur.' : </strong>'.$reponse.
'% <img src="fond.bmp" alt="chargement impossible" height="5" width="'.
$reponse.'" /> <strong>'.$totaldesreponse.'</strong> vote.<br />';
}
if ($text > '1'){

$text1 = '<strong> - '.$valeur.' : </strong>'.$reponse.
'% <img src="fond.bmp" alt="chargement impossible" height="5" width="'.
$reponse.'" /> <strong>'.$totaldesreponse.'</strong> votes.<br />';
}
return $text1;
}

echo VerifText($totalreponse[1],'valeur 1',$reponse1,$totalreponse[1]).
VerifText($totalreponse[2],'valeur 2',$reponse2,$totalreponse[2]). VerifText(
$totalreponse[3],'valeur 3',$reponse3,$totalreponse[3]).VerifText($totalreponse[
4],'valeur 4',$reponse4,$totalreponse[4]);
echo '<strong> Total votes : </strong>'.$totalvote.'<br /><br /><br />';

}else{

echo 'Quelle Valeur souhaité vous ? <br /><br />';
echo
'<form method="POST" action="index.php?vote=ok"><div><input class="zonetext"' .
' type="radio" value="1" name="choix" /> - Valeur 1<br /><input class="zonetex' .
't" type="radio" value="2" name="choix" /> - Valeur 2<br /><input class="zonet' .
'ext" type="radio" value="3" name="choix" /> - Valeur 3<br /><input class="zon' .
'etext" type="radio" value="4" name="choix" /> - Valeur 4<br /><input class="z' .
'onetext" type="submit" value=" Ok ! " /></div></form>';

}

?>
Lassé par la pub ? Créez un compte
Tom's guide dans le monde