Page 1 sur 1

probleme verification de formulaire

Posté : 07 janv. 2010, 06:25
par graffx
Salut a tous, voila je fais un systeme de comentaire, et j' aimerai une verification pour ceux qui postent, il y a trois champs visible, nom, contenu et une question anti-spam dans la reponse est "rouge".

J' aimerai simplement que tous les champs soient remplis , on applique un message qui dit "bravo", si un des chamsp ou rien n' est completés, un message du genre "envoi raté".

J' ai donc fait ceci:
				          <?php
	  						$com_contenu = mysql_real_escape_string(htmlspecialchars($_POST['contenu']));
	  						$com_auteur = $_POST['nom'];
	 						$com_timestamp = time();
						
						



	  
	  						if ($com_contenu != NULL)
	 						 {
							if(isset($_POST['nom']) && isset($_POST['contenu']) && isset($_POST['question']) && ($_POST['question'] == 'rouge'))
							{				
							mysql_query("INSERT INTO commentaires (id,id_de_news,contenu,auteur,timestamp) VALUES('', '$id','$com_contenu','$com_auteur','$com_timestamp')")or die(mysql_error());
							echo 'Votre commentaire a bien été ajouté!';
							echo '<meta http-equiv="Refresh" content="3;URL=">';
							
							}
							
							else
							echo 'dfvdfv';
							
							}


	 					  ?>

Dans tous les cas, si un des champs n' est pas rempli et si rouge est est la mauvaise reponse, ca n' ajoute rien a la bdd, si tout est rempli et la question bonne, alors otut s' ajoute.

Le probleme vient des messages qui 's affichent.

Si je ne rempli que "nom", aucun message, si je rempli "contenu", le message apparait, aucun message pour la question remplie.

Bref c' est un peu embetant, j' aimerai simplement que si un des champs est manquant, et la question est bien repondu > bravo
si c' est le contraire, alors > raté

J' ai un probleme dans la synthaxe de mes if else apparement :/

Re: probleme verification de formulaire

Posté : 07 janv. 2010, 10:21
par Sodams
Relis bien ton code, que fais tu si $com_contenu == NULL?

Ca devrait te mettre sur la voix.

Re: probleme verification de formulaire

Posté : 07 janv. 2010, 15:14
par graffx
C' est vrai que j' avais oublié quelques details, merci.

Mais je n' arrive toujours pas a un message d' erreur si au moins un des champs est vide, pourtant par logique ca devrait reessembler a ca:
	  						if(($com_contenu != NULL) && ($com_auteur != NULL) && ($_POST['question'] != NULL))
	 						 {
							if(isset($_POST['nom']) && isset($_POST['contenu']) && isset($_POST['question']) && ($_POST['question'] == 'rouge'))
							{				
							mysql_query("INSERT INTO commentaires (id,id_de_news,contenu,auteur,timestamp) VALUES('', '$id','$com_contenu','$com_auteur','$com_timestamp')")or die(mysql_error());
							echo 'Votre commentaire a bien été ajouté!';
							echo '<meta http-equiv="Refresh" content="3;URL=">';
							}
							else
							{
							echo 'Erreur, recommencez!';
							}
							}

Re: probleme verification de formulaire

Posté : 07 janv. 2010, 15:23
par Sodams
                                                        if(($com_contenu != NULL) && ($com_auteur != NULL) && ($_POST['question'] != NULL))
                                                         {
                                                        if(isset($_POST['nom']) && isset($_POST['contenu']) && isset($_POST['question']) && ($_POST['question'] == 'rouge'))
                                                        {                               
                                                        mysql_query("INSERT INTO commentaires (id,id_de_news,contenu,auteur,timestamp) VALUES('', '$id','$com_contenu','$com_auteur','$com_timestamp')")or die(mysql_error());
                                                        echo 'Votre commentaire a bien été ajouté!';
                                                        echo '<meta http-equiv="Refresh" content="3;URL=">';
                                                        }
                                                        else
                                                        {
                                                        echo 'Couleur non rouge, recommencez!';
                                                        }            
                                                        }
                                                        else
                                                        {
                                                        echo 'Erreur, recommencez!';
                                                        }
Que donne ceçi?

Re: probleme verification de formulaire

Posté : 07 janv. 2010, 15:32
par graffx
Effectivement ca a l' air d' aller, par contre le hic, c' es tque c' est sur la meme page que le form, donc par defaut le message "erreur" est affichée, quelle astuce pourrai-je utiliser?

Re: probleme verification de formulaire

Posté : 07 janv. 2010, 15:33
par stealth35
tu englobes le tout dans

Code : Tout sélectionner

if(!empty($_POST)) { //ton code }

Re: probleme verification de formulaire

Posté : 07 janv. 2010, 16:52
par graffx
Arf et ben c' est parfait, j' espere que j' arriverai a me rappeler la facon de faire la prochaine fois que j' aurai un formulaire, au pire j' aurai un exemple maintenant :)


Merci a toi et meilleurs voeux :wink: