Problème php, sql (select et checkbox)

Résolu
prode59 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
prode59 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
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 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
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 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
Alors pour chaque variable POST utilise la méthode isset() qui vérifie qu'elle existe bien.
1
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
Et tu as mis des "isset" sur tous les "undefined index" ?
1
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
Les ISSET ne résolvent pas le problème??
0
prode59 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
Tu pourrais poster ton code php de traitement du formulaire?
0
prode59 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
:/ 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   Statut Membre Dernière intervention  
 
ok merci pour l'info je vois ça je reposterai pour dire si ça fonctionne :)
0
KiKiLeMMerDeuR Messages postés 284 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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