Validation de Formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Validation de Formulaire

par Photographiquement Vôtre » 23 janv. 2008, 00:36

Désolé mais le probleme venait sans doute de la zone message de mon formulaire (peut être un espace en trop ?)

Comme je devais passer à autre chose, j'ai simplement fait un copier coller d'un autre formulaire et cela marche

par Truc » 22 janv. 2008, 16:31

Sujet Résolu ?!

Peux tu faire part de la solution pour éventuellement aider d'autres membres au même problème.

par Photographiquement Vôtre » 22 janv. 2008, 01:28

J'ai essayé cela mais cela ne marche pas !!!
<html>
<body>

<?php

include ("../Connexion/connection_news.php");	  

if(isset($_POST['soumettre']))  
	{ 
		$sujet = $_POST["sujet"]; 
        $message = $_POST["message"]; 
         
        //si il n'y a rien dans sujet     
        if(empty($sujet))
        	{
	        echo "<h3 align=center><strong>Vous devez remplir le sujet</h3>";
	        }     
		//si il n'y a rien dans message        
  		if(empty($message))       
        	{
	        echo "<h3 align=center><strong>Vous devez remplir le message</h3>";
	         }         
//si il y a quelque chose dans le message
	    else 
        	{ 
			echo "message rempli";
			}
		echo '<p align="center"><a href="javascript:history.back(-1)">Retourner sur le Formulaire</a></p>'; 
	//Fin Else
		
	
	
//Fin Post[Soumettre]	
	}

?>

</body>
</html>

par Truc » 22 janv. 2008, 01:17

isset() teste l'existence d'une variable... tous les champs d'un formulaire existent s'il est validé.

regarde du coté de empty() pour vérifier si le champ est vide ou pas.

Validation de Formulaire

par Photographiquement Vôtre » 22 janv. 2008, 00:53

Bonsoir,

J'ai un formulaire de saisie pour une newletter avec une zone Sujet et une zone Message

Son code :
<html>

<head>
<title>Envoyer une newsletter</title>
</head>

<body><center>

<table border="0" cellspacing="0" cellpadding="3">
	<tr height="100">
		<td>
		<br>
		</td>
	</tr>
	<tr>
	<td><center><font face="verdana" size="2" color="#808080"><b>Envoyer votre newsletter</b></font></center></td>
	</tr>
	<br>
	<tr>
		<td>
		<form  id="form_email" method="post" action="news_send_html.php">
			<table width="445" align="center" border="0" cellspacing="0">
				<tr>
					<td width="130" align="right"><p> <font face="verdana" size="2"color="#808080"> <b>Sujet : </b> </font></p></td>
					<td width="311" align="left"><p><input type="text" name="sujet" size="44"></p> </td>
				</tr>
				<tr>
					<td width="130" align="right" valign="top" rowspan="2"><p> <font face="verdana" size="2" color="#808080"><b>Message</b></font></p> </td>
					<td width="311"> <p><textarea name="message" id="message" rows="18" cols="42"> </textarea></p> </td>
				</tr>
				<tr>
					<td width="311" align="left"> <p><input type="submit" name = "soumettre" id="soumettre" value="Envoyer la newsletter"><input type="reset" value="Réinitialiser"></p></td>
				</tr>
			</table>
		</form>
		</td>
	</tr>
</table>

</body>
</html>
Ma validation sur la feuille "news_send_html.php" :
<html>
<body>

<?php

include ("../Connexion/connection_news.php");	  

if(isset($_POST['soumettre']))  
	{ 
	if ( isset($_POST["sujet"]) && isset($_POST["message"]) )  
    	{  
        $sujet = htmlspecialchars(stripslashes($_POST["sujet"]), ENT_QUOTES); 
        $message = htmlspecialchars(stripslashes($_POST["message"]), ENT_QUOTES); 
         
        //si il n'y a rien dans message     
        if(empty($sujet))
        	{
	        echo "<h3 align=center><strong>Vous devez remplir le sujet</h3>";
	        }     
		//si il n'y a rien dans message        
  		if(empty($message))       
        	{
	        echo "<h3 align=center><strong>Vous devez remplir le message</h3>";
	         }         
//si il y a quelque chose dans le message
	    else 
        	{ 
			echo "message rempli";
			}
		
	//Fin Else
	}	
	
	echo '<p align="center"><a href="javascript:history.back(-1)">Retourner sur le Formulaire</a></p>'; 
//Fin Post[Soumettre]	
	}

?>

</body>
</html>
Si je ne mets rien dans le sujet ni dans le message, il ne m'affiche qu'un message d'erreur pour le sujet et rien pour le message.
Si je mets quelque chose dans le sujet et rien dans le message il considère que tout est bon.

Ou réside mon erreur ?

Merci pour votre aide