Afficher les erreurs de saisie dans le formulaire

mohamedamen Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
mohamedamen Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour!!je suis débutant en dev web!!!J'ai des problèmes sur la mis en place de mes messages d'erreurs sur mon formulaire.

Je ne sais pas comment les affecter à mon code html .Est ce que vous pouvez m'aider sur ce point.

Merci d'avance!!!Voici le code de mes messages.




<?php
$categories=array();
$error=array();
$nom='';
$prenom='';
$age='';
$category='';
try{ 
 $db=new PDO('mysql:host=localhost;dbname=personne','root','',array(PDO::MYSQL_ATTR_INIT_COMMAND=>'SET NAMES\'UTF8\''));
    $statement=$db->prepare('SELECT*FROM categories');
    if($statement->execute())
     /*mettre le résultat dans un tableaux $categories ce tableau on va le parcourir dans la balise select on va le parcourirpar foreach*/
 $categories=$statement->fetchAll(PDO::FETCH_OBJ);
     
    
      if(!empty($_POST))
    {
         $nom=$_POST['nom'];
         $prenom=$_POST['prenom'];
         $age=$_POST['age'];
         $category=$_POST['category'];

/*veerifivation*/
         if (empty($nom))
     $error['nom'] ='*vous devez saisir le nom';
         elseif(strlen($nom)>25)
     $error['nom']='*le nom ne doit pas dépasser 25 caractère';
      if (empty($prenom))
    $error['prenom']='*vous devez saisir le prenom';
       elseif(strlen($prenom)>25)
    $error['prenom']='*le prenom ne doit pas dépasser 25 caractère';
       if (!is_numeric($age))
    $error['age']='*l\'age doit etre numérique ';
       elseif(strlen($age)>2)
    $error['age']='*l\'age maximum 99';

        if ($category==0)
    $error['category']='*vous selecter une categorie';
      if (empty($error))
     {
         $stmt=$db->prepare("INSERT INTO personnea values('','$nom','$prenom',$age,$category)");
         $stmt->execute();
             /*onpeut vide les champs  en initialisant les champs
           $nom='';
           $prenom='';
           $age='';
          $category='';
           et on peu aussi se redictionner ver une autre page par header('location:index.php')redirection ver une autre page*/
         
        }
    }
}
catch (Exception $e){
echo $e->getTraceAsString();
}
?>
<!DOCTYPE html>
<html>
<head<
<title></title>
<meta http-equiv="content-type" content="text/html;charset=utf=8"/>

</head>
<body>
<div>
 <div>
  <div>
  <h1><a href ="" title="">programation en pratique <span></span></a></h1>
     </div>
     </div>
     </div>
     <div>
  <div>
  <div>
   <h3>Ajouter un nouveau contact </h3>
   <form methode ='POST' action =''>
    <label>Nom:</label>
    <input type="text" name ="nom" size="20" value='<?=$nom?>'/><br/>
    <span><?=(key_exists('nom',$error))?$error['nom']:''?><span>
    <label>Prenom:</label>
    <input type="text" name ="prenom" size="20" value='<?=$prenom?>'/><br/>
    
    <span ><?=(key_exists('prenom',$error))?$error['prenom']:''?> </span><br/>
    <label>age:</label>
    <input type="text" name ="age" size="20" value='<?=$age?>'/><br/>
    <span><?=(key_exists('age',$error))?$error['age']:''?> </span><br/>
    <label>Categorie:</label>
    
    <select name='category'>
        <option value='0'>--categorie--</option>
                <?php
                foreach ($categories as $cat) 
                    
                       if($cat->id==$category)
                    echo"<option value='$cat->id' selected>$cat->title</option>";
                else
                     echo "<option value='$cat->id'>$cat->title</option>"
                  ?>
                </select>
                 <span><?=(key_exists('category',$error))?$error['category']:''?> </span><br/><br/>
                 <input type='submit' value='ajouter'style='margin-left:200px'>
                 <input type ='reset' value='Annuler'> 
   </form>
         </div>

     </div>
 </div>  

</body>
</html>




EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,


Je ne sais pas comment les affecter à mon code html

C'est à dire ? Pourrais tu être plus précis.... que cherches tu à obtenir exactement et en quoi le code que tu nous montres ne fonctionne pas selon toi ?
0
mohamedamen Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,
ce que je cherche est d'afficher des erreurs par exemple si je saisi un nom qui dépasse 25 caractères ou une age qui n'est pas numérique des messages d'erreurs seront affichés.

Cordialement,
mohamedamen
0