[php]souci dans 1 formulaire

Résolu/Fermé
steph70 - 8 août 2008 à 10:30
 steph70 - 8 août 2008 à 12:02
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

7 réponses

lilaaa Messages postés 106 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 21 mai 2009 7
8 août 2008 à 10:33
pour commencer ajoutez une comme attribut action="pagecible" dans ta form !!
0
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
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
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 mercredi 16 juillet 2008 Statut Membre Dernière intervention 21 mai 2009 7
8 août 2008 à 11:47
exactement
0
ok j'essaie ca et vous tiens au courant

Merci

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