Problème php, sql (select et checkbox)

Résolu/Fermé
Signaler
Messages postés
10
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
28 septembre 2011
-
Messages postés
10
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
28 septembre 2011
-
Bonjour,

j'espère poster au bonne endroit ...

JE suis en trin de mettre en place un grand formulaire avec base de donnée toussa toussa ...

Et j ai juste une petite question concernant :
Les listes déroulantes : https://user.oc-static.com/files/6001_7000/6723.png
et Les cases à cocher : https://user.oc-static.com/files/4001_5000/4411.png

Pour les mettre en place et récupérer les informations sélectionnées et les réaficher dans une autre page pas de souci.

Mais pour envoyer les variables dans la base donnée ...
Les variables non sélectionner renvoies des erreurs comment les éviter ???

voici ma méthode d'envoi :

<?php
include('ref_sql.php');
$nom=$_POST['nom'];
$adresse=$_POST['adresse'];
$tel=$_POST['tel'];
$tel_port=$_POST['tel_port'];
.....
$Collectifldlf=$_POST['Collectifldlf'];
$acfcpdlf=$_POST['acfcpdlf'];

mysql_query("insert into formulaire2 values('','$nom','$adresse','$tel','$tel_port','$Collectifldlf','$acfcpdlf')")
or die ("insert into formulaire2 values('','$nom','$adresse','$tel','$tel_port','$Collectifldlf','$acfcpdlf')");
?>


si réponse merci d'avance
Je bloque depuis un moment dessus :/

15 réponses

Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
829
Qu'entends-tu par "non sélectionnées" ?

Tu veux dire si le mec ne touche pas à la liste déroulante et ne coche aucune checkbox ?

Sinon tu peux faire :
$maCheckBox1 = (isset($_POST['nomDeMaCheckbox'])) ? $_POST['nomDeMaCheckbox1'] : "";

Par exemple, et ça remplace les choses non sélectionnée par une chaine vide.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
829
Alors pour chaque variable POST utilise la méthode isset() qui vérifie qu'elle existe bien.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
829
Et tu as mis des "isset" sur tous les "undefined index" ?
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
829
Attention, le isset ne sert à rien si tu rappelle la variable POST plus loin dans le code : cela génèrera une autre erreur...
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
10
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
28 septembre 2011

disons que quand tu mes en place des checkbox avec plusieurs choix possible par exemple 5 propositions la personne en choisi 3 il y a 2 variables non sélectionné.
du coup je récupère 2 erreurs je cherche à éviter ce type d'erreur :/
Messages postés
10
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
28 septembre 2011

exemple de liste déroulante

<select name="age" id="age">
<option value="age___">...</option>
<option value="16_17">16 - 17</option>
<option value="18_21">18 - 21</option>
<option value="22_25">22 - 25</option>
<option value="26_et_plus">26 et plus</option>
</select>

et chexbox


<input type="checkbox" name="aidu2" value="aidu2" id="aidu2" tabindex="50" /> <label for="aidu2">Aide d'urgence</label>

<input type="checkbox" name="justice2" value="justice2" id="justice2" tabindex="50" /> <label for="justice2">Justice</label>

<input type="checkbox" name="logeherbe2" value="logeherbe2" id="logeherbe2" tabindex="50" /> <label for="logeherbe2">Logement / Hébergement</label>

<input type="checkbox" name="mobilite2" value="mobilite2" id="mobilite2" tabindex="50" /> <label for="mobilite2">Mobilité</label>

<input type="checkbox" name="aidad2" value="aidad2" id="aidad2" tabindex="50" /> <label for="aidad2">Aide administrative</label>

<input type="checkbox" name="probfami2" value="probfami2" id="probfami2" tabindex="50" /> <label for="probfami2">Problème familial</label>
Messages postés
10
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
28 septembre 2011

déjà testé

voici ce que je récupère : http://www.hostingpics.net/viewer.php?id=836155Captureerreur.jpg

ma base est bien remplie mais les erreurs pour les variables vide pic au yeux :/


Merci pour tes réponses :)
3 jours que je galère avec ça
Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
829
Les ISSET ne résolvent pas le problème??
Messages postés
10
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
28 septembre 2011

non le lien est ce que je récupère après avoir tous regardés avec des isset
Messages postés
10
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
28 septembre 2011

bas j'ai mis des "isset" et j'ai demandé de renvoyer les erreurs pour voir si c'été seulement les variables vide qui revenez en erreur. et oui ...

dsl si je suis pas très clair il y a 3 semaines de çà je n'avais jamais fait de php ^^
Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
829
Tu pourrais poster ton code php de traitement du formulaire?
Messages postés
10
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
28 septembre 2011

:/ 1400 lignes +

Je pense avoir trouvé, dans ma base je crée une colonne par variable
donc forcement les vides n'aime pas :/

je devrai je pense faire une colonne qui stock plutôt les variables du même type

exp: une colonne pays ou dedans je peux stocké plusieurs différent pays

je vais chercher comment mettre çà en place ^^ encore un mystère ^^

Dsl d'avoir prix de ton temps je te remercie mihawk
Messages postés
10
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
28 septembre 2011

ok merci pour l'info je vois ça je reposterai pour dire si ça fonctionne :)
Messages postés
284
Date d'inscription
dimanche 6 décembre 2009
Statut
Membre
Dernière intervention
6 décembre 2013
35
tu peux mettre une valeur par défaut à ton champ, ou juste initialiser un string vide comme ci-dessous, si $_POST['champ'] n'est pas défini
<?php if ($_POST['champ']) $champ=$_POST['champ']; else $champ=""; ?>


PS : regarde au niveau de ta table, si les valeur NULL sont autorisées pour les champs en question
Messages postés
10
Date d'inscription
mardi 13 septembre 2011
Statut
Membre
Dernière intervention
28 septembre 2011

Je reviens pour fermer mon post et expliquer comment j 'ai fait :) c'est tout con

$hebergement = $_POST["hebergement"];
if($hebergement=="hebergement1")
{
$hebergement = $_POST["listedéroulante1"];
}
elseif($hebergement=="hebergement2")
{
$hebergement = $_POST["listedéroulante2"];
}
elseif($hebergement=="hebergement3")
{
$hebergement = $_POST["listedéroulante3"];
}
elseif($hebergement=="hebergement4")
{
$hebergement = $_POST["listedéroulante4"];
}
elseif($hebergement=="hebergement5")
{
$hebergement = $_POST["listedéroulante5"];
}
else
{
$hebergement = $hebergement;
}

Plus de problème.

Merci pour votre aide je ferme