vérification avec if

cocote
Invité n'ayant pas de compte PHPfrance

18 mai 2006, 14:51

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>"; 
	 		}
		}
}

Mammouth du PHP | 536 Messages

18 mai 2006, 14:59

il me semble que tu peux essayer avec switch()
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Avatar du membre
ViPHP
ViPHP | 3008 Messages

18 mai 2006, 15:01

ou utiliser les elseif au lieu de mettre if...else - if...else...etc

cocote
Invité n'ayant pas de compte PHPfrance

18 mai 2006, 15:02

c'est a dire?
mon code ressemblerait a quoi?

Avatar du membre
ViPHP
ViPHP | 3008 Messages

18 mai 2006, 15:07

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
}
?>

cocote
Invité n'ayant pas de compte PHPfrance

18 mai 2006, 15:10

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.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

18 mai 2006, 15:26

C'est exactement ça ;) le dernier else veut dire que tout a été vérifié et que c'est ok

cocote
Invité n'ayant pas de compte PHPfrance

18 mai 2006, 15:26

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 ?

cocote
Invité n'ayant pas de compte PHPfrance

18 mai 2006, 15:29

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