Afficher les erreurs de saisie dans le formulaire [Fermé]

Signaler
Messages postés
2
Date d'inscription
dimanche 6 mars 2016
Statut
Membre
Dernière intervention
8 mars 2016
-
Messages postés
2
Date d'inscription
dimanche 6 mars 2016
Statut
Membre
Dernière intervention
8 mars 2016
-
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.

1 réponse

Messages postés
32998
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 juin 2021
3 568
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 ?
Messages postés
2
Date d'inscription
dimanche 6 mars 2016
Statut
Membre
Dernière intervention
8 mars 2016

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