Probleme de verification de champs
Posté : 14 mars 2006, 11:11
Bonjour je debute en php , je m'aide du livre "PhP et Mysql pour les nuls"
J'essai de faire un script du livre et la verification des champs ne se fait pas mais il trouve les champs vides.
Voici le code de ma page:
Merci!
J'essai de faire un script du livre et la verification des champs ne se fait pas mais il trouve les champs vides.
Voici le code de ma page:
<?php
echo "<html> <head><title>Adresse Client</title></head><body>";
$infos = array("prenom"=>"Prénom :",
"nom"=>"Nom :",
"codepostal"=>"Code postal :",
"telephone"=>"Téléphone :");
//controler les champs
foreach ($_POST as $clé => $valeur)
{
if ($clé != "codepostal")
{
if ($valeur =="")
{
$champvide[$clé]="blanc";
}
}
elseif ($clé=="prenom" or $clé=="nom")
{
if (!ereg("^[A-Za-z' -]{1,50}",$valeur))
{
$mauvaisformat[$clé]="mauvais";
}
}
elseif ($clé=="telephone")
{
if (!ereg("^[0,9)( -] {7,20} (([xX]|(ext)|(ex))?[ -]{1,7})?$",
$valeur ))
{
$mauvaisformat[$clé]="mauvais";
}
}
}//fin de la boucle foreach pour $POST
//Si l'un des champs est incorect
if (@sizeof($champvide) > 0 or @sizeof($mauvaisformat) > 0)
{
//si l'un des champs est vide, afficher le message
if (@sizeof($champvide)>0)//en cas de champ vide
{
echo"<b>Un des champs obligaoires n'a pas été renseigné. Vous devez saisir:</><br>";
//affichage du nom des informations requises
foreach ($champvide as $clé =>$valeur)
{
echo " {$infos[$clé]}<br>";
}//fin de la boucle foreach pour les champs vides
}
if (@sizeof($mauvaisformat)>0)//en cas de champ vide
{
echo"<b>Un ou plusieurs champs contiennent des informations qui semblent incorrects :</><br>";
//affichage du nom des informations requises
foreach ($mauvaisformat as $clé =>$valeur)
{
echo " {$infos[$clé]}<br>";
}//fin de la boucle foreach pour les champs vides
}
//Réaficcher le formulaire
$nom=trim(strip_tags($_POST['nom']));
$prenom=trim(strip_tags($_POST['prenom']));
$codepostal=trim(strip_tags($_POST['codepostal']));
$telephone=trim(strip_tags($_POST['telephone']));
echo "<p><hr>
<form action='catalogue-animaux-chap8_13.php' method='POST'>
<center>
<table width='95%' border='0' cellspacing='0' cellpadding='2'>\n
<tr><td align='right'><b>{$infos['prenom']}</b></td>
<td><input type='text' name='prenom' value='$prenom' size='35' maxlength='35'></td>
</tr>\n
<tr><td align='right'><b>{$infos['nom']}</b></td>
<td><input type='text' name='nom' value='$nom' size='35' maxlength='35'></td>
</tr>\n
<tr><td align='right'><b>{$infos['codepostal']}</b></td>
<td><input type='text' name='codepostal' size='35' maxlength='35' value='$codepostal'></td>
</tr>\n
<tr><td align='right'><b>{$infos['telephone']}</b></td>
<td><input type='text' name='telephone' size='35' maxlength='65' value='$telephone'></td>
</tr>\n
</table>
<p><input type='submit' value='Validez'></p>
</form></center>";
exit();
}
echo "Bienvenue...";
?>
</body>
</html>
je ne comprend pas pourquoi il ne verifie pas les champsMerci!