[php]souci dans 1 formulaire

Résolu
steph70 -  
 steph70 -
Bonjour,

J'ai créer en php un formulaire avec des input de type radio.

Celui ci récupère donc des données et l'inclus dans ma table "sondage" mais voila le souci : si on ouvre simplement la page, ceci insère automatiquement une entrée vide dans ma table et je ne comprend pas pourquoi puisqu'il n'y a pas validation.

Je fais donc appel à vous pour m'apporter vos lumières et pointer mon erreur.

Dans ma page html, voici mon code :
<div id="Droit">
<h4 align="center"><u><i>Sondage</u></h4>
<p align="justify">Quel est, selon vous, la communauté de communes la plus à même de correspondre à vos aspirations ?</i></p><br/>
<form method="post">
Gy <input type="radio" name="choix" value="Gy" /><br/>
Rioz <input type="radio" name="choix" value="Rioz" /><br/>
Les Combes <input type="radio" name="choix" value="Combes" /><br/><br/>
<input type="submit" />
</form>
<?php include ('sondage.php') ?><br/><hr/>
</div>


Et mon script php de traitement des données :
<?php
mysql_connect("localhost", "login", "mdp")or die("Impossible de se connecter au serveur de bases de données.");
mysql_select_db("dbf")or die("Base de données non trouvée.");

 $choix  = $_POST["choix"];

 mysql_query("INSERT INTO sondage (`resultat`) VALUES ('".$choix."')");
 echo "Merci de votre vote";
 mysql_close();
 ?>


Merci pour votre aide

Amicalement
Steph70
Configuration: Windows XP
Firefox 3.0.1

7 réponses

  1. lilaaa Messages postés 107 Date d'inscription   Statut Membre 7
     
    pour commencer ajoutez une comme attribut action="pagecible" dans ta form !!
    0
  2. steph70
     
    Ok, je veux bien

    Mais étant que la page cible est la même que celle ou est le script, il me semblait que par defaut l'action se faisait donc sur la page ??

    Je fais erreur ?

    Amicalement
    Lonewolf
    0
  3. dillon
     
    Bonjour

    Tu ne fais pas erreur.
    Le problème, c'est que dans ton traitement, tu fait une insertion sans vérifier si un formulaire à bien été envoyé.
    Il faudrait faire (au moins) un if (isset($_POST["choix"])) pour éviter ça.
    0
  4. steph70
     
    Ok et merci

    Donc si je comprend bien, il me faudrais inclure le if (isset($_POST["choix"])) juste avant le debut de mon code d'insertion dans ma base de donnée. C'est ca ?

    Amicalement
    Steph70
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lilaaa Messages postés 107 Date d'inscription   Statut Membre 7
     
    exactement
    0
  7. steph70
     
    ok j'essaie ca et vous tiens au courant

    Merci

    Amicalement
    Steph70
    0
  8. steph70
     
    Ok, ca a marché à merveille

    Merci encore.

    Comme d'hab, j'etais bloqué par un problème tout bête.

    Et comme d'hab, les personnes de comment ca marche sont toujours aussi sympatiques et professionnelles.

    Problème résolu

    Amicalement
    Steph70
    0