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!