Pb de formulaire

ronanf235 Messages postés 105 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 28 juin 2006 - 2 juil. 2004 à 11:49
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 - 2 juil. 2004 à 19:22
bonjour

j'ai un formulaire avec plein de bouton radio, et lorsque je fais l'envoie a ma base MySql, je passe par un script qui recoit toutes les variables en POST et qui execute les commandes sql.
le pb c'est que si un champ de type radio n'est pas initialise, ca hurle au scandale

par exemple :
Notice: Undefined index: auteur in c:\program files\easyphp1-7\www\ajoutquestionnaire.php on line 14

est ce que je dois tester toutes mes variables (env 60 !!) ?
existe t il un moyen pour rendre une valeur par defaut ?
le formulaire ne devrait pas instancier des variables vides lors du submit ?

je suis perdu...
merci de votre aide
ronan

7 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
2 juil. 2004 à 13:22
Salut!
Tu peux nous poster le code de ton formulaire ainsi que de la réception des variables?

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"

www.progforum.net: Aide en programmation!
0
cs_Houzefa Messages postés 453 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 9 juillet 2004 2
2 juil. 2004 à 13:52
tu pourrais utiliser la fonction isset() et tester les 60 variables, contrairement à ce que tu peux penser cette fonction est très rapide et le test de 60 valeurs ne te fera pas perdre une demi-seconde.

Houzéf@ - www.123toto.com
0
cs_mfaraday Messages postés 144 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 4 janvier 2010
2 juil. 2004 à 15:40
Salut !

Le problème vient probablement du fait que dans php.ini error.reporting est défini sur E_ALL... ça se trouve sur le net...

je sais que c utile de laisser sa configuration en l'état car lors de la mise en place sur le net d'un site, pas de problème de variable non instanciée...

Et en effet la solution la mieux est :
$mavar = !isset($_POST['mavar']) ? '' : $_POST['mavar'];

$_POST ou $_GET ou $_SESSION...

voili voulou

++ florian
0
cs_mfaraday Messages postés 144 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 4 janvier 2010
2 juil. 2004 à 15:44
Pour plus d'information sur error_reporting()

-> Nexen.net -> error_reporting
0

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

Posez votre question
cs_mfaraday Messages postés 144 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 4 janvier 2010
2 juil. 2004 à 15:45
Pour la configuration de php.ini
-> nexen.net -> configuration PHP
0
ronanf235 Messages postés 105 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 28 juin 2006
2 juil. 2004 à 16:04
j'ai finalement opte pour le test des variables
merci a tous pour votre aide

ronan
0
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
2 juil. 2004 à 19:22
Si tu veux, tu peux te faire une fonction par exemple qui test toutes tes variables à partir d'une variable tableau

$variable = array('something','other');

for($i=0;$i<count($variable);$i++)
if(!isset($_GET[$variable[$i]]))
echo "ERREUR\n";

Si ca ne vient pas de GET ou POST, tu n'as qu'à utiliser l'instanciation dynamique :

for($i=0;$i<count($variable);$i++)
if(!isset($$variable[$i]))
echo "ERREUR";
0
Rejoignez-nous