Page 1 sur 1

cases à cocher

Posté : 24 août 2005, 17:48
par nyco
bonjour à tous,


j'ai un petit problème, je suis en train de créer un formulaire qui contient une vingtaine de question. Mon problème est que lorsque j'ai des questions à choix multiples avec des cases à cocher il me retourne un message d'erreur lors de la validation du formulaire si une des cases n'est pas coché, merci de votre aide

voici le code

<?

<?php

$R0101			= stripslashes($_POST['Q0101'])		;
$R0201			= stripslashes($_POST['Q0201'])		;
$R0301			= stripslashes($_POST['Q0301'])		;
$R0401			= stripslashes($_POST['Q0401'])		;
$R0402			= stripslashes($_POST['Q0402'])		;
$R0403			= stripslashes($_POST['Q0403'])		;
$R0404			= stripslashes($_POST['Q0404'])		;
$R0405			= stripslashes($_POST['Q0405'])		;
$R0501			= stripslashes($_POST['Q0501'])		;
$R0502			= stripslashes($_POST['Q0502'])		;
$R0503			= stripslashes($_POST['Q0503'])		;
$R0601			= stripslashes($_POST['Q0601'])		;
$R0701			= stripslashes($_POST['Q0701'])		;
$R0801			= stripslashes($_POST['Q0801'])		;
$R0901			= stripslashes($_POST['Q0901'])		;
$R1001			= stripslashes($_POST['Q1001'])		;
$R1002			= stripslashes($_POST['Q1002'])		;
$R1003			= stripslashes($_POST['Q1003'])		;
$R1101			= stripslashes($_POST['Q1101'])		;
$R1102			= stripslashes($_POST['Q1102'])		;
$R1103			= stripslashes($_POST['Q1103'])		;
$R1104			= stripslashes($_POST['Q1104'])		;
$R1105			= stripslashes($_POST['Q1105'])		;
$R1201			= stripslashes($_POST['Q1201'])		;
$R1301			= stripslashes($_POST['Q1301'])		;
$R1401			= stripslashes($_POST['Q1401'])		;
$R1501			= stripslashes($_POST['Q1501'])		;
$R1601			= stripslashes($_POST['Q1601'])		;
$R1701			= stripslashes($_POST['Q1701'])		;
$R1702			= stripslashes($_POST['Q1702'])		;
$R1703			= stripslashes($_POST['Q1703'])		;
$R1704			= stripslashes($_POST['Q1704'])		;
$R1705			= stripslashes($_POST['Q1705'])		;
$R1706			= stripslashes($_POST['Q1706'])		;


mysql_connect	("localhost","root","");
mysql_select_db	("results");

mysql_query		("INSERT INTO result(R0101, R0201, R0301, R0401, R0402, R0403, R0404, R0405, R0501, R0502, R0503, R0601, R0701, R0801, R0901, R1001, R1002, R1003, R1101, R1102, R1103, R1104, R1105, R1201, R1301, R1401, R1501, R1601, R1701, R1702, R1703, R1704, R1705, R1706) 
values ('$R0101', '$R0201', '$R0301', '$R0401', '$R0402', '$R0403', '$R0404', '$R0405', '$R0501', '$R0502', '$R0503', '$R0601', '$R0701', '$R0801', '$R0901', '$R1001', '$R1002', '$R1003', '$R1101', '$R1102', '$R1103', '$R1104', '$R1105', '$R1201', '$R1301', '$R1401', '$R1501', '$R1601', '$R1701', '$R1702', '$R1703', '$R1704', '$R1705', '$R1706')");


mysql_close		();

?>

?>
<html><a id=lien href='javascript:history.go(-3)' tabindex="15">Retour</a></html>





et ici le code html de la question avec les cases à cocher :

Code : Tout sélectionner

<!-- **//**//**//**//**//**//**//**//** !--> <table border="0" style="border-collapse: collapse" width="750" bordercolorlight="#000000" bordercolordark="#000000"> <tr><td colspan="7"> </td> <tr><td valign="top" bgcolor="#98B49A" height="125"> </td> <td valign="top" bgcolor="#98B49A" height="125" width="150">Question N°4 : <td height="125" bgcolor="#98B49A"> </td> <td height="125"> </td> <td height="125" bgcolor="#98B49A"> </td> <td bgcolor="#98B49A" width="610" valign="top"><p align="justify"> <b>Dans quelles circonstances pourriez-vous faire des rencontres ?<br> <br> [puce]<input type="checkbox" name="Q0401" value="Fêtes entre amis" style="font-weight: 700">Fêtes entre amis<br> [puce]<input type="checkbox" name="Q0402" value="Sites de rencontres (speed dating, ...)" style="font-weight: 700">Sites de rencontres (speed dating, ...)<br> [puce]<input type="checkbox" name="Q0403" value="Boîtes club" style="font-weight: 700">Boîtes, club, ...<br> [puce]<input type="checkbox" name="Q0404" value="Travail passions" style="font-weight: 700">Travail, passions<br> [puce]Autres :<input name="Q0405" size="30" style="font-weight: 700"> <td height="125" bgcolor="#98B49A"> </td> <tr><td colspan="7"> </td> <tr><td bgcolor="#000000" colspan="7"> </td> </table> <!-- **//**//**//**//**//**//**//**//** !-->

merci par avance de votre aide

Posté : 24 août 2005, 18:12
par Cyrano
D'abord, tu semble récupérer plus de valeurs que n'en envoie le formulaire.

Ensuite si une case n'est pas cochée, elle n'est pas envoye, il faut donc initialiser tes variables différemment lors de la récupération, exemple:
$R0101            = isset($_POST['Q0101']) ? stripslashes($_POST['Q0101']) : "";
Comme ça, soit tu auras une valeur, soit une chaine vide.

Posté : 25 août 2005, 10:11
par Effer
Merci, j'avais le même problème et grace à toi maintenant ca marche nickel =D>

Posté : 25 août 2005, 10:12
par cyrill
oui effectivment ... essaie de mettre des nom de variables plus explicites a la question pour etre sur de ne pas faire une faute...

Posté : 25 août 2005, 10:12
par nyco
Salut cyrano

ta soluce marche nickel !!!!

merci à toi et longue vie au forum !!

bye et a bientot