Page 1 sur 1

vérification avec if

Posté : 18 mai 2006, 14:51
par cocote
bonjour,
sur une page correspondant à un formulaire, je fais des vérifications de champs grace à des if.

Seulement voila, j'aimerais simplifié mon code car j'ai l'impression qu'il est vraiment compliqué et je n'arrive plus à le comprendre... lol :?:

Voici mon code :
if (!ereg("^[0-9]{5,5}",$cp_entreprise))
{
header("location: inscription.php?messageerreurcp");
//echo "<p class=\"Texte2\">Votre code postal n'est pas valide, corrigez, svp <br></p>";
//echo "<center><p class=\"Texte2\"><a href=\"../inscription.php\">Recommencer</a></p></center>";
}
else
{
	if (!ereg("^.+@.+\\..+$",$email_entreprise)) //on vérifie la validité de l'email
	{
		header("location: inscription.php?messageerreuremail");
		//echo "<p class=\"Texte2\">Votre email n'est pas valide, corrigez, svp <br></p>";
		//echo "<center><p class=\"Texte2\"><a href=\"../inscription.php\">Recommencer</a></p></center>"; 
	}
		else 
		{
			if (!ereg("^[0-9 -.]{14,14}",$tel_entreprise)) //on vérifie la validité du numéro de tel
	 		{
				header("location: index.php?messageerreurtel");
				//echo "<p class=\"Texte2\">Votre numéro de téléphone n'est pas valide, corrigez, svp <br></p>";
				//echo "<center><p class=\"Texte2\"><a href=\"../inscription.php\">Recommencer</a></p></center>"; 
	 		}
		}
}

Posté : 18 mai 2006, 14:59
par béka
il me semble que tu peux essayer avec switch()

Posté : 18 mai 2006, 15:01
par charabia
ou utiliser les elseif au lieu de mettre if...else - if...else...etc

Posté : 18 mai 2006, 15:02
par cocote
c'est a dire?
mon code ressemblerait a quoi?

Posté : 18 mai 2006, 15:07
par charabia
A ça par exemple :
<?php
if (!ereg("^[0-9]{5,5}",$cp_entreprise))
{
	header("location: inscription.php?messageerreurcp");
}
elseif(!ereg("^.+@.+\\..+$",$email_entreprise)) //on vérifie la validité de l'email 
{
	header("location: inscription.php?messageerreuremail");
}
elseif(!ereg("^[0-9 -.]{14,14}",$tel_entreprise)) //on vérifie la validité du numéro de tel 
{
	header("location: index.php?messageerreurtel");
}
else
{
	//autre chose ici
}
?>

Posté : 18 mai 2006, 15:10
par cocote
et ds le "autre chose ici" je mets ce que le script doit exécuter par la suite si tous les champs sont vérifiés et corrects?

car avant, meme quand un champ était incorrect, ma page exécutait quand même ce ui suivait.

Posté : 18 mai 2006, 15:26
par charabia
C'est exactement ça ;) le dernier else veut dire que tout a été vérifié et que c'est ok

Posté : 18 mai 2006, 15:26
par cocote
avec cette méthode, les headers ne marchent pas?
pourquoi?

voici mon code :
if (!ereg("^[0-9]{5,5}",$cp_entreprise)) 
{ 
    header("location: inscription.php?messageerreurcp"); 
} 
elseif(!ereg("^.+@.+\\..+$",$email_entreprise)) //on vérifie la validité de l'email 
{ 
    header("location: inscription.php?messageerreuremail"); 
} 
elseif(!ereg("^[0-9 -.]{14,14}",$tel_entreprise)) //on vérifie la validité du numéro de tel 
{ 
    header("location: index.php?messageerreurtel"); 
} 
else 
{

//on vérifie si le login choisi existe déja
$sql = "SELECT login_entreprise FROM entreprise WHERE login_entreprise='$login_entreprise'";
$resultat = mysql_query($sql);
$num = mysql_num_rows($resultat);
		if ($num > 0)
		{
		echo "login deja utilisé";
			if (!headers_sent()) 
			{
			header ("Location: inscription.php");
			exit();
			}
		}
		else {
//on insère dans la base
$query = "INSERT INTO entreprise(id, nom_entreprise, adresse_entreprise, ville_entreprise, cp_entreprise, email_entreprise, tel_entreprise, fax_entreprise, site_entreprise, login_entreprise, password_entreprise)  VALUES('', '$nom_entreprise', '$adresse_entreprise', '$ville_entreprise', '$cp_entreprise', '$email_entreprise', '$tel_entreprise', '$fax_entreprise', '$site_entreprise', '$login_entreprise', '$password_entreprise')"; }}
voila, pouvez vous m'aider ?

Posté : 18 mai 2006, 15:29
par cocote
voici le code que j'ai mis dans ma page inscription.php
<?php 

		if (isset($_GET['messageerreurcp']))
		{ 
		echo "<p class=\"Texte\"><u><center><font color=\"red\">Votre code postal est incorrect, veuillez recommencer</font></center></u></p>"; 
		} 
		if (isset($_GET['messageerreuremail']))
		{ 
		echo "<p class=\"Texte\"><u><center><font color=\"red\">Votre email est incorrect, veuillez recommencer</font></center></u></p>"; 
		} 
		if (isset($_GET['messageerreurtel']))
		{ 
		echo "<p class=\"Texte\"><u><center><font color=\"red\">Votre numéro de téléphone est incorrect, veuillez recommencer</font></center></u></p>"; 
		} 
		?>
j'ai oublié de vous le mettre