Condition IF "checked" sur un bouton radio

Résolu
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 - 27 oct. 2008 à 11:27
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 - 27 oct. 2008 à 15:00
Bonjour,

J'ai un petit formulaire, et je voudrais savoir comment ecrire en PHP un systeme de redirection et d'ecriture en fonction de ce formulaire avec 3 boutons radio.

J'ai 3 bouton radio :
. paiement par cheque
. paiement par virement
. paiement par CB

Et sur chacun de ces bouton radio j'ai mis :

   if (checked=='checked')
     {
     $connect=ODBC_connect("base","log_base","mdp_base");
     $sql="update commande set reglement='cheque' where numcmd='$numero_cmd'";
     $res=odbc_exec($connect, $sql) or die($sql."
".odbc_error());
     odbc_close($connect);
     header("location: paiement_virement.php");
    
     }
     else
     {
     }

Mon probleme est que ça ne marche pas, il me renvoi directement sur la redirection du premeir bouton "paiement_virement.php" , pourtant j'ai mis un IF...
alors je pense que c'est ma condition "checked=='checked'" qui doit êter mal employée.
Quelqu'un peut-il m'aider svp ?

3 réponses

cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
27 oct. 2008 à 14:03
salut

"sur chacun de ces bouton radio j'ai mis"
tu as "mis" ? genre un onclick= "fonction_javascript();" ?

si c'est ca, tu peux pas "appeler" une fonction javascript qui execute un code PHP (sinon faut voir du coté AJAX)

maintenant si tu te retrouve la après validation du formulaire, alors l'ecriture doit plutot etre :
 if ( isset($_POST["mon_checkbox"]) && (int)$_POST["mon_checkbox"] ==2 ) { ... }
avec
cheque
virement
cb

++
 
3
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 4
27 oct. 2008 à 15:00
J'ai mis un javascript effectivement, mais qui n'a rien a voir avec mon code PHP, c'est un JS qui permet de verifier les champs vides du formulaires.

C'est bon j'ai trouvé grâve à la fonction ISSET :

$paiment=$_POST['paiement'];
if ( isset ( $_POST['paiement'] ))



{





 if ( $_POST['paiement']==cheque)
 {
   // echo "PAIEMENT PAR CHEQUE
";
   
           $connect=ODBC_connect("TESTPHP5","sa","sasa");
  
           $sql="update commande set REGLEMENT='$paiment' where login='$login'";
           $res=odbc_exec($connect, $sql) or die($sql."
".odbc_error());
 
           odbc_close($connect);
           header('location:paiement_cheque');
 }
 else
 {
    //echo "paiement non par cheque
";
 }



 if ( $_POST['paiement']==cb)
 {
    //echo "PAIEMENT PAR CB
";
    echo "PAIEMENT PAR CHEQUE
";
   
           $connect=ODBC_connect("TESTPHP5","sa","sasa");
  
           $sql="update commande set REGLEMENT='$paiment' where login='$login'";
           $res=odbc_exec($connect, $sql) or die($sql."
".odbc_error());
 
           odbc_close($connect);
           header('location:paiement_cheque');
 }
 else
 {
    //echo "paiement non par cb
";
 }



 if ( $_POST['paiement']==virement)
 {
    //echo "PAIEMENT PAR VIREMENT
";
    echo "PAIEMENT PAR CHEQUE
";
   
           $connect=ODBC_connect("TESTPHP5","sa","sasa");
  
           $sql="update commande set REGLEMENT='$paiment' where login='$login'";
           $res=odbc_exec($connect, $sql) or die($sql."
".odbc_error());
 
           odbc_close($connect);
           header('location:paiement_cheque');
 }
 else
 {
    //echo "paiement non par virement
";
 }



//echo "C'EST OP";
}
else
{
//echo "C'est mort";
echo $erreur;
}
//echo $_POST['paiement'];




Les petits trucs en commentaires sont des essais avant d'avoir écrit sur ma base.
Mais mon souci est qu'il m'ecrit les données en double dans la base.

Merci
0
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 4
27 oct. 2008 à 15:00
J'ai oublié, et mon input donne ça : (Les 2 autres c'est la même syntaxe)

<label>><label>
0
Rejoignez-nous