Condition IF "checked" sur un bouton radio [Résolu]

Signaler
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
-
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
-
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

Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
1
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

++
 
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
1
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
Messages postés
436
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
2 juillet 2014
1
J'ai oublié, et mon input donne ça : (Les 2 autres c'est la même syntaxe)

<label>><label>