récupérer les valeurs d'un champ input type radio

récupérer les valeurs d'un champ input type radio - HTML/CSS - Programmation

Marsh Posté le 20-04-2006 à 13:25:44    

Bonjour à tous,
 
J'aimerais restreindre les choix d'un champ à "oui" ou "non". Pour cela j'utilise la forme
 

Citation :

<input type="radio" name="test" id="oui"> <label for="oui">oui</label>
<input type="radio" name="test" id="non"> <label for="non">non</label>


 
Jusque là tout va bien. Maintenant, j'aimerais entrer la valeur choisie par le visiteur dans la base de données et c'est là que ça coince.
 
Voici mon code :
 
Utilisé lors de la transmition mysql :
 

Citation :

<?php
 
if ($case <> "" )  
    {
   if (!empty($_POST['test']))
   //Transmission à MySQL
     {
  //Connexion à la base de données
  require("config.inc.php" );
  $sql = "UPDATE membres SET test='".$test."' WHERE pseudo='$prenomnom'";
  mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  echo "<p>Vos infos ont été modifiées avec succès";
  //Déconnexion
  mysql_close();
  }
    }
 
?>


 
Voici le code utilisé pour le choix :
 

Citation :

<form method="POST" action="index.php?page=fiche">
<p class="titre">Choix :<br /></p>
<input type="radio" name="test" id="oui"> <label for="oui">oui</label>
<input type="radio" name="test" id="non"> <label for="non">non</label>
<br>
<input type="submit" name="case" value="MODIFIER" class="valider">
</form>


 
Une fois que je coche "oui" ou "non" et que je clique sur valider, il me met l'erreur suivante :
 

Citation :

Erreur SQL !UPDATE membres SET case='on' WHERE pseudo='patricke'
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'case='on' WHERE pseudo='patricke'' at line 1


 
Je comprend pas d'où est ce qu'il le sort son 'on'. Que je clique sur 'oui' ou sur 'non', il me sort à chaque fois un 'on'...
 
Ca doit être moi qui exploite mal cette fonction, mais dans  ce cas, quelle est la forme correcte?

Reply

Marsh Posté le 20-04-2006 à 13:25:44   

Reply

Marsh Posté le 20-04-2006 à 13:28:04    

tu utilises ça dans ta requete:

Code :
  1. $sql = "UPDATE membres SET test='".$test."' WHERE pseudo='$prenomnom'";


je vote que tu initialises $test quelque part avant dans ton script et que dans la requete tu voulais en fait utiliser $_POST['test']

Reply

Marsh Posté le 20-04-2006 à 13:32:45    

+1 ;)

Reply

Marsh Posté le 20-04-2006 à 13:38:15    

la seule fois où je l'initialise c'est lorsque je clique sur "modifier"


Message édité par Patatrace le 20-04-2006 à 13:39:01
Reply

Marsh Posté le 20-04-2006 à 14:09:14    

Bon j'ai réglé le problème du 'on' dans l'erreur mysql, mais le reste du message est toujours pareil (mais cette fois avec soit 'oui' soit 'non')
 
Personne n'a une idée?

Reply

Marsh Posté le 20-04-2006 à 14:17:45    

case est un mot clé mysql, rajoute des `autour
 
edit: d'ailleurs la requete dans le code que tu donnes n'est pas identique a la requete qui produit une erreur ...


Message édité par anapajari le 20-04-2006 à 14:20:11
Reply

Marsh Posté le 20-04-2006 à 14:19:27    

merciiiii

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed