Problème PHP

Suivre ce topic
Ce topic est suivi par : Flex
Flex

Flex Le 22 mars 2017 à 21:51 (Édité le 25 janvier 2019 à 17:53)

Bonsoir,

Voilà je rencontre un problème avec mon code j'ai créer un champ titre quand je met rien dans le champ et que je le submit j'ai mon erreur "Vous devez renseigner un titre" apartire de la tout va bien mais quand je remplie correctement le champ j'ai cet erreur Notice: Undefined variable: er in C:\xampp\htdocs\hbo\settings\create.php on line 43


create.php
   $db = App::getDatabase();
   $validator = new form($_POST);
   $validator->str('title', "Vous devez renseigner un titre");

   if($validator->valide()) {

      // en envoi les données à la db

   } else { 
      if(isset($_POST['submit'])) {
         $er = $validator->getError('title');
      }
      
   }
   echo $er;

La class
       private $data;
      private $errors = [];
        public function __construct($data) {
            
            $this->data = $data;
            
        }
        
        
        private function getField($field) {
            
            if(!isset($this->data[$field])) {
                    
                return null;
                    
            }
            
            return $this->data[$field];
            
        }
            

public function str($field, $error) {
            
            if(!preg_match('/^[a-zA-Z0-9]+$/', $this->getField($field))) {
                
               $this->errors[$field] = $error;
                
            }
            
        }


   public function getError($field) {
          return $this->errors[$field];
       }
mista78

mista78 Le 23 mars 2017 à 00:48

place pluto ton echo $er dans le else 
Balatharas

Balatharas Le 26 mars 2017 à 12:34

C'est normal tu fait un echo $er en dehors de toute condition et tu ne l'a pas initialisée...
Lis ton erreur..
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte