PHP MySQL - Enregistrer valeur checkbox

Résolu/Fermé
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 8 avril 2015 à 14:02
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 8 avril 2015 à 15:05
Bonjour à tous !

Je souhaite enregistrer la valeur de mon checkbox dans ma table mysql. Pouvez-vous m'aider svp ?
<label><input type="checkbox" name="Fr_Pays_CI" id="Fr_Pays_CI" <?php if($data_fr['CI']==1) echo 'checked="checked" '; ?> />Côte d'Ivoire</label>
<label><input type="checkbox" name="Fr_Pays_SN" id="Fr_Pays_SN" <?php if($data_fr['SN']==1) echo 'checked="checked" '; ?> />Sénégal</label>

$Fr_Pays_CI = $_POST["Fr_Pays_CI"]; $Fr_Pays_CI = mysql_real_escape_string($Fr_Pays_CI);
$Fr_Pays_SN = $_POST["Fr_Pays_SN"]; $Fr_Pays_SN = mysql_real_escape_string($Fr_Pays_SN);


A voir également:

2 réponses

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
Modifié par gravgun le 8/04/2015 à 15:06
'lut, première étape: tu arrêtes d'utiliser l'extension MySQL, lis cet article pour savoir pourquoi; et le remplaces par MySQLi ou PDO.
(J'insiste, il faut que tu changes)
Deuxième étape: c'est un peu de PHP et de SQL.
L'élément de
$_POST
correspondant à ta checkbox sera existant si la case est cochée, et non défini si elle ne l'est pas (donc
isset($_POST['element'])
renverra
true
si la case est cochée).
En utilisant l'opérateur ternaire, on fait court et récupère les valeurs:
$Fr_Pays_CI = isset($_POST["Fr_Pays_CI"]) ? "1" : "0";
$Fr_Pays_SN = isset($_POST["Fr_Pays_SN"]) ? "1" : "0";
Et comme tu utiliseras les requêtes préparées, pas d'atrocités genre
mysql_real_escape_string
(exemple PDO):
$req = $bdd->prepare("INSERT INTO maTable (paysCi, paysSn) VALUES (:paysCi, :paysSn)");
$req->execute(array(
    ":paysCi" => $Fr_Pays_CI,
    ":paysSn" => $Fr_Pays_SN
));

from human import idiocy
del idiocy
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
8 avril 2015 à 15:05
Merci gravgun, c'est la seconde fois que tu me dis de changer en MySQLi ou PDO
Je suis en train de le faire (promis) mais c'était pour avancer un peux sur cette correction (version 2).

La version 3 (actuelle) est en cours de maintenance !
En tout cas merci infiniment de m'avoir prévenu, je l'ignorais depuis ton précédent poste.
0