Validation de Formulaire

Eléphant du PHP | 330 Messages

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
-------------------------------------------------------
Il n'y a que les cons et les moules qui adhèrent

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

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.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 330 Messages

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>
-------------------------------------------------------
Il n'y a que les cons et les moules qui adhèrent

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

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.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 330 Messages

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
-------------------------------------------------------
Il n'y a que les cons et les moules qui adhèrent