Problème php, sql (select et checkbox)

Résolu/Fermé
prode59 Messages postés 10 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 28 septembre 2011 - 13 sept. 2011 à 11:06
prode59 Messages postés 10 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 28 septembre 2011 - 16 sept. 2011 à 16:12
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 :/
A voir également:

15 réponses

Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
13 sept. 2011 à 11:10
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
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
13 sept. 2011 à 11:22
Alors pour chaque variable POST utilise la méthode isset() qui vérifie qu'elle existe bien.
1
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
13 sept. 2011 à 11:41
Et tu as mis des "isset" sur tous les "undefined index" ?
1
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
13 sept. 2011 à 12:08
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
prode59 Messages postés 10 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 28 septembre 2011
13 sept. 2011 à 11:16
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 :/
0
prode59 Messages postés 10 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 28 septembre 2011
13 sept. 2011 à 11:22
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>
0
prode59 Messages postés 10 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 28 septembre 2011
Modifié par prode59 le 13/09/2011 à 11:26
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
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
13 sept. 2011 à 11:36
Les ISSET ne résolvent pas le problème??
0
prode59 Messages postés 10 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 28 septembre 2011
13 sept. 2011 à 11:37
non le lien est ce que je récupère après avoir tous regardés avec des isset
0
prode59 Messages postés 10 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 28 septembre 2011
13 sept. 2011 à 11:46
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 ^^
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
13 sept. 2011 à 11:54
Tu pourrais poster ton code php de traitement du formulaire?
0
prode59 Messages postés 10 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 28 septembre 2011
13 sept. 2011 à 12:07
:/ 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
0
prode59 Messages postés 10 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 28 septembre 2011
13 sept. 2011 à 12:10
ok merci pour l'info je vois ça je reposterai pour dire si ça fonctionne :)
0
KiKiLeMMerDeuR Messages postés 284 Date d'inscription dimanche 6 décembre 2009 Statut Membre Dernière intervention 6 décembre 2013 36
13 sept. 2011 à 12:12
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
0
prode59 Messages postés 10 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 28 septembre 2011
16 sept. 2011 à 16:12
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
0