Page 1 sur 1

montrer le champ vide

Posté : 07 juin 2011, 00:40
par aurel80
Bonsoir,

Voila je vous explique ma petite question enfaite j'ai besoin de vous car je voudrait que une fois que ça dit a mon visiteur quelle champ il a pas remplie avec une etoile ou autre chose,problème je ne sais pas du tout comment faire ceci, voici mon code php :
<fieldset>
<legend><h2><font color="black">Inscription</font></h2></legend>
<center>
<?php

//je me connect sous mysql.
require_once("include/mysql.php");

// j'inclue mes function php.
include_once("function/function.php");

//je vérifie l'envoie du formulaire.
if (isset($_POST['submitform']))
{
	//je verifie que les variable existe.
	if (isset($_POST['login']) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['email']) && isset($_POST['verifemail']) && isset($_POST['mdp']) && isset($_POST['verifmdp']))
	{	
			//je crée les variable.
			$login = addslashes(trim($_POST['login']));
			$nom = addslashes(trim($_POST['nom']));
			$prenom = addslashes(trim($_POST['prenom']));
			$email = addslashes(trim($_POST['email']));
			$verifemail = addslashes(trim($_POST['verifemail']));
			// Crypte le mot de passe. Et rend l'original IRRECUPERABLE.
			$mdp = addslashes(trim(hash('sha256', $_POST['mdp']))); 
			$verifmdp = addslashes(trim(hash('sha256', $_POST['verifmdp'])));
		
		// je verifie que les champs sont vides.
		if(empty($login))
		{
			$message = '<p><h3><font color="#ff0000">* ERREUR : le champ nom d\'utilisateur est vide</font></h3></p>';
		}
		else if(empty($nom)) 
		{
			$message = '<p><h3><font color="#ff0000">* ERREUR : le champ nom est vide</font></h3></p>';
		}
		else if(empty($prenom))
		{
			$message = '<p><h3><font color="#ff0000">* ERREUR : le champ prénom est vide</font></h3></p>';
		}
		else if(empty($email))
		{
			$message = '<p><h3><font color="#ff0000">* ERREUR : le champ email est vide</font></h3></p>';
		}
		else if(empty($verifemail))
		{
			$message = '<p><h3><font color="#ff0000">* ERREUR : le champs de vérification de l\'email est vide</font></h3></p>';
		}
		else if(empty($mdp))
		{
			$message = '<p><h3><font color="#ff0000">* ERREUR : le champ mot de passe est vide</font></h3></p>';
		}
		else if(empty($verifmdp))
		{
			$message = '<p><h3><font color="#ff0000">* ERREUR : le champ verification du mot de passe est vide</font></h3></p>';
		}
		else
		{
		
				// je verifie que l'email est valide.
				if (!invalid_email($email))
				{
			
					// je verifie que les mot de passe sont identique.
					if ($mdp == $verifmdp) 
					{
			
						// je verifie que les 2 email sont identique.
						if ($email == $verifemail) 
						{
							
							// je vérifie que le pseudo est déjà pas utilisée
							$verif_login = $bdd->prepare('SELECT id FROM `membres` WHERE `login`  = ? ') or die(print_r($bdd->errorInfo()));
							$verif_login->bindValue(1, $login, PDO::PARAM_STR);
							$verif_login->execute();
							$verification_login = $verif_login->fetch();
							if (!$verification_login) 
							{ 
							
								// je vérifie que le pseudo est déjà pas utilisée
								$verif_email = $bdd->prepare('SELECT id FROM `membres` WHERE `email`  = ? ') or die(print_r($bdd->errorInfo()));
								$verif_email->bindValue(1, $email, PDO::PARAM_STR);
								$verif_email->execute();
								$verification_email = $verif_email->fetch();
								if (!$verification_email) 
								{ 

									//je vérifie que le code du captcha est bon.
									$secure = isset($_POST['secure']) ? strtolower($_POST['secure']) : '';
									if ($secure == $_SESSION['securecode']) 
									{
										
										
										// Génération aléatoire d'une clé
										$hash_enregistrement = hash('sha256', microtime((TRUE)*100000));

		
											// je renvoie le requête si les champs sont remplies.
											$inscription_membre = $bdd->prepare('INSERT INTO `membres`(`login`, `nom`, `prenom`, `email`, `mdp`, `hash_enregistrement`) 
											VALUES(:login, :nom, :prenom, :email, :mdp, :hash_enregistrement)') or die(print_r($bdd->errorInfo()));
											$inscription_membre->bindValue(':login', $login, PDO::PARAM_STR);
											$inscription_membre->bindValue(':nom', $nom, PDO::PARAM_STR);
											$inscription_membre->bindValue(':prenom', $prenom, PDO::PARAM_STR);
											$inscription_membre->bindValue(':email', $email, PDO::PARAM_STR);
											$inscription_membre->bindValue(':mdp', $mdp, PDO::PARAM_STR);
											$inscription_membre->bindValue(':hash_enregistrement', $hash_enregistrement, PDO::PARAM_STR);
											
											$inscription_membre->execute();
											
											$inscription_membre->CloseCursor();
	
										// j'envoie l'email d'inscription.
										$boundary = hash('sha256', uniqid(rand()));
										
										$sujet = "Membre SoGames Multigaming";
										
										$contenu_message = "";
										$contenu_message .= "\n--$boundary\nContent-Type: text/html;";
										$contenu_message .= "charset=\"ISO-8859-1\"\n\n";
										$contenu_message .= "<p align='left'>Bonjour chére membre voici vos informations : <br />                         
											Votre login : <b>".$login."</b> <br /> 
											Votre nom : <b>".$nom."</b>, <br />
											Votre prénom : <b>".$prenom."</b>, <br />
											Votre email : <b>".$email."</b>, <br />
											Votre mot de passe : <b>".$_POST['mdp']."</b>,<br />
       										Pour activer votre compte, veuillez cliquer sur cliquez-ici ci dessous.<br />
											<a href='http://developpement-web.sogames-prod.com/index.php?page=valide_enregistrement&login=".urlencode($login)."&hash_enregistrement=".urlencode($hash_enregistrement)."'>Cliquez-ici</a></p>";
											
												$adresse_exp = "";
												$adresse_exp .= "MIME-Version: 1.0\n";
												$adresse_exp .= "Content-Type: multipart/alternative;";
												$adresse_exp .= "boundary=$boundary\n";
												$adresse_exp .= "From: [email protected]";
 
										$succes = mail(htmlentities($email), html_entity_decode($sujet), html_entity_decode($contenu_message), $adresse_exp);
		
									if($succes) // Si le mail a été correctement envoyé.
										$message = '<p>Merci de votre inscription,<br /> un email vous à été envoyé sur cette adresse '.htmlentities($email).'</p><br>';
									else
										$message = '<p>Une erreur est survenue lors de l\'envoi du mail</p>';
			
								// je renvoie une erreur si le code est inccorects.
									unset($_SESSION['securecode']);
								}
								else 
								{  
									$message = '<p><h3><font color="#ff0000">* Le code de sécurité est incorrecte!</font></h3><br />';
								}
								
							// j'envoie cette erreur que le déjà pas utilisée.		
							} 
							else 
							{
								$message = '<p><h3><font color="#ff0000">* L\'email est déjà utilisée</font></h3></p><br />';										
							}
							
						// je vérifie que le pseudo est déjà pas utilisée.
						}
						else
						{
							$message = '<p><h3><font color="#ff0000">* Le pseudo est déjà utilisée</font></h3></p><br />';
						}
	
					// je renvoie une erreur si les 2 email sont différent.
					} 
					else
					{
						$message = '<p><center><h3><font color="#ff0000">* les 2 email sont different!</font></h3></p><br />';
					}
		  
				// je renvoie une erreur si les 2 mot de passe sont différent.
				} 
				else
				{ 
					$message = '<p><center><h3><font color="#ff0000">* les 2 mot de passe sont different</font></h3></p><br />';
				}

			//je renvoie une erreur si l'email est inccorect.
			} 
			else
			{
				$message = '<p><h3><font color="#ff0000">* l\'email suivant : '.htmlentities($email).' est invalide</font></h3></p>';
			}
		}
	 if(isset($message)) echo $message;
	}
}
?>
<form method="post" action="" >
<label><b>Nom de l'utilisateur :</b></label><br />
<input type="text" name="login" size="30" value="<?php if (isset($_POST['login'])) echo htmlentities($_POST['login']); ?>" /><br />
<label><b>Nom :</b></label><br />
<input type="text" name="nom" size="30" value="<?php if (isset($_POST['nom'])) echo htmlentities($_POST['nom']); ?>" /><br />
<label><b>Pr&eacute;nom :</b></label><br />
<input type="text" name="prenom" size="30" value="<?php if (isset($_POST['prenom'])) echo htmlentities($_POST['prenom']); ?>" /><br />
<label><b>Email :</b></label><br />
<input type="text" name="email" size="30" value="<?php if (isset($_POST['email'])) echo htmlentities($_POST['email']); ?>" /><br />
<label><b>Retapez votre Email :</b></label><br />
<input type="text" name="verifemail" size="30" value="<?php if (isset($_POST['verifemail'])) echo htmlentities($_POST['verifemail']); ?>" /><br />
<label><b>Mot de passe :</b></label><br />
<input type="password" name="mdp" size="30" value="" /><br />
<label><b>Retapez votre mot de passe :</b></label><br />
<input type="password" name="verifmdp" size="30" value="" /><br />
<label><b>Tapez les codes de l'image :</b></label><br />
<br />
<img src="captcha.php" alt="Code de sécurité" value=""/>
<input type="text" name="secure" size="10"  value=""/>
<br />
<br />
<input type="submit" name="submitform" value="        Valider         "/>
</form>
</center>
</fieldset>
merci a tous

Re: montrer le champ vide

Posté : 07 juin 2011, 01:06
par moogli
salut,

le système est le même que pour le pré remplissage des champs, sauf que tu le fait devant le champ input (par exemple if (empty($nomduchamp)) echo 'ce que tu veuxpour signaler le champ ;)';



il est aussi possible de mettre les noms des champs vides dans un tableau ( $vide = array ( nomduchamp1, etc);) et si le nom du champ existe tu écrit champ obligatoire (ou autre).

parce que bon pas vraiment la peine de faire 28 fois le même test si tu en besoin plusieurs fois garde la réponse au chaud dans une variable ou un tableau :mrgreen:


@+

Re: montrer le champ vide

Posté : 08 juin 2011, 10:21
par aurel80
ok ben j'ai fait exactement ce que vous avez dit donc merci beaucoup ^^