[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
A voir également:

7 réponses

lilaaa Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   7
 
pour commencer ajoutez une comme attribut action="pagecible" dans ta form !!
0
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lilaaa Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   7
 
exactement
0
steph70
 
ok j'essaie ca et vous tiens au courant

Merci

Amicalement
Steph70
0
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