Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Erreur] Uncaught Error: Class 'user' not found

[Erreur] Code PHP

    25 septembre 2022 à 16:23:37

    Bonjour, s'il vous plait aidez moi à résoudre ce problème 

    je reçoi le message suivant : 

    Fatal error: Uncaught Error: Class 'user' not found in C:\xampp\htdocs\Univ\login\controller\login.php:5 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Univ\login\controller\login.php on line 5

    le fichier  Login.php

    <?php
    include_once '../../model/header_login.php';
      
    if (isset($_POST)){
        $obj = new user();
        $result_connexion =$obj->Connecter($_POST['login'], $_POST['passe']);
        if (empty($result_connexion)):
            die('Login Ou bien Mot de passe Non Correct');
        else:
        $_SESSION = $result_connexion;
       // var_dump($result_connexion);
        $p_profil = new p_profil();
        $get_liens=$p_profil->selectByTwoColumn('login', $result_connexion['login'], 'code_lien', 'LINK-0000068');
         
        if(!empty($get_liens))
        {
            die("bien-end");
        }
             
           die("bien");
        endif;
     
    }

    Le fichier  model/header_login.php :

    <?php
     
    session_start();
    function __spl_autoload_register($class_name) {
        include_once 'connexion.php';
        include_once($class_name . '.php');
         
    }

    le fichier connexion.php:

    <?php
     
    define('SERVER','localhost');
    define('DATABASE','test001');
    define('USER','root');
    define('PASSWORD','');
     
     
    class connexion {
        public static function getConnexion()
        {     
            try
            {
                $connexion = new PDO('mysql:host='.SERVER.';dbname='.DATABASE,USER, PASSWORD, array(PDO::ATTR_PERSISTENT => true));
                $connexion->exec('SET NAMES utf8');
            }
            catch(Exception $e)
            {
                echo 'Erreur : '.$e->getMessage().'<br />';
                echo 'N° : '.$e->getCode();
            }
        return $connexion;
        }
    }

    Merci beaucoup pour votre attention 

    je veux vraiment modifier mon code pour que la page d'Authentification passe et ne me redonne plus le message d'erreur déjà cité  




    -
    Edité par ImmobilierImmobilier 25 septembre 2022 à 18:42:30

    • Partager sur Facebook
    • Partager sur Twitter
      25 septembre 2022 à 17:15:24

      Pour t'aider il faudrait que tu lises et prenne en compte ce qui t'est dit. Et surtout ESSAYER.

      Personne ne fera le code à ta place si tu ne t'y tentes pas. 

      -
      Edité par zvheer 25 septembre 2022 à 17:17:28

      • Partager sur Facebook
      • Partager sur Twitter

      yasakani no magatama

        25 septembre 2022 à 17:30:44

        Bonjour,

        "Bien dommage" ? Bien dommage qu'on ne fasse pas ton code à ta place ? Bin, désolée, mais c'est comme ça ici : c'est un forum d'entraide, pas de service :)

        Je vais rajouter des questions : tu fais un new p_user() mais où est la classe p_user ? Il faut que tu nous montres le code qui correspond, surtout que ton erreur semble être justement liée à cette classe.

        • Partager sur Facebook
        • Partager sur Twitter

        Pas d'aide concernant le code par MP, le forum est là pour ça :)

          25 septembre 2022 à 17:41:59

          ImmobilierImmobilier a écrit:

          bien dommage


          Effectivement, ce serait tellement plus simple
          • Partager sur Facebook
          • Partager sur Twitter

          yasakani no magatama

            25 septembre 2022 à 18:38:34

            Lamecarlate a écrit:

            Bonjour,

            "Bien dommage" ? Bien dommage qu'on ne fasse pas ton code à ta place ? Bin, désolée, mais c'est comme ça ici : c'est un forum d'entraide, pas de service :)

            Je vais rajouter des questions : tu fais un new p_user() mais où est la classe p_user ? Il faut que tu nous montres le code qui correspond, surtout que ton erreur semble être justement liée à cette classe.


            j'ai presque publier tout mon code php en haut mais je ne sais pas ou est le problème 

            merci en tous cas pour votre réponse et votre temps je vais rajouter le code de la page d'authentification si ca peux éclaircir mon cas 

            • Partager sur Facebook
            • Partager sur Twitter
              25 septembre 2022 à 18:41:59

              Bonjour, si tu n'as pas écrit le code de la class p_user() pour quelle raison fais tu appel à cette class??

              • Partager sur Facebook
              • Partager sur Twitter
                25 septembre 2022 à 18:42:58

                oh la laaa  ZVHEER tu as raison le voila mon fameux fichier  class  p_user.php mais ce que je ne comprends pas pourquoi mon code php ne le reconnais pas  :(

                <?php
                
                
                
                /*
                
                 * To change this license header, choose License Headers in Project Properties.
                
                 * To change this template file, choose Tools | Templates
                
                 * and open the template in the editor.
                
                 */
                
                
                
                /**
                
                 * Description of user
                
                 *
                
                 * @author user
                
                 */
                
                class p_user extends table {
                
                
                
                //`id_user`, `nom`, `prenom`, `login`, `passe`, `profil`, `activer`
                
                    protected $id_user;
                    protected $type ; 
                    protected $nom;
                    protected $prenom;
                    protected $login;
                    protected $passe;
                    protected $profil;
                    protected $enseignant;
                    protected $activer;
                
                
                
                    public function Connecter($login, $passe) {
                
                        $login = addslashes($login);
                
                       $passe = md5($passe);
                        
                        //die("SELECT id_user ,  type , login , nom , prenom , profil , enseignant, activer FROM p_user WHERE login = '$login' AND passe = '$passe' LIMIT 1");
                        
                
                        try {
                
                            $conn = connexion::getConnexion();
                
                            $conn->beginTransaction();
                
                            $result = connexion::getConnexion()->query("SELECT id_user ,  type , login , nom , prenom , profil , enseignant, activer FROM p_user WHERE login = '$login' AND passe = '$passe' LIMIT 1");
                
                            $data = $result->fetch(PDO::FETCH_ASSOC);
                
                            $result->closeCursor();
                
                            return $data;
                
                        } catch (Exception $exc) {
                
                            $conn->rollBack();
                
                            return "Erreur :" . $exc->getMessage();
                
                        }
                
                    }
                    
                    
                    public function Gettype($type) {
                
                        if ($type==0){
                            return "Utilisateur";
                        }elseif ($type==1) {
                            return "Administrateur";
                        }
                
                    }
                
                
                
                      public function CompteActives($value) {
                
                        if ($value == 'on') {
                
                            return 'Activé';
                        } else {
                
                            return 'désactivé';
                        }
                    }
                         public function GetLiensUser($code_gestion , $login) {
                
                        try {
                            $conn = connexion::getConnexion();
                            $conn->beginTransaction();
                            $result = connexion::getConnexion()->query("SELECT * FROM `p_liens` where code_gestion ='$code_gestion'   ORDER BY `titre`  ASC");
                            $data = $result->fetchAll(PDO::FETCH_OBJ);
                            $result->closeCursor();
                            return $data;
                        } catch (Exception $exc) {
                            $conn->rollBack();
                            return "Erreur :" . $exc->getMessage();
                
                        }
                
                    }
                
                
                
                
                
                
                
                
                
                        public function ChangePass($passe) {
                
                        $login = addslashes($_SESSION['login']);
                
                       $passe = md5($passe);
                        
                        //die("SELECT id_user ,  type , login , nom , prenom , profil , enseignant, activer FROM p_user WHERE login = '$login' AND passe = '$passe' LIMIT 1");
                        
                
                        try {
                
                            $conn = connexion::getConnexion();
                
                            $conn->beginTransaction();
                
                            $result = connexion::getConnexion()->query("SELECT id_user ,  type , login , nom , prenom , profil , enseignant, activer FROM p_user WHERE login = '$login' AND passe = '$passe' LIMIT 1");
                
                            $data = $result->fetch(PDO::FETCH_ASSOC);
                
                            $result->closeCursor();
                
                            return $data;
                
                        } catch (Exception $exc) {
                
                            $conn->rollBack();
                
                            return "Erreur :" . $exc->getMessage();
                
                        }
                
                    }
                    
                    
                    
                    
                        public function updateUderInformation($column_name1, $index1 ,$column_name2, $index2 , $val1 , $val2) {
                            $index2 = md5($index2);
                            $val2 = md5($val2);
                            $sqlupdate = "update p_user set login = '$val1', passe = '$val2' where $column_name1= '$index1' and $column_name2= '$index2'";
                       // echo  ($sqlupdate); die();
                        try {
                            $conn = connexion::getConnexion();
                            $conn->beginTransaction();
                            
                            $statut = $conn->exec($sqlupdate);
                            $conn->commit();
                            return $statut;
                        } catch (Exception $exc) {
                            $conn->rollBack();
                            return "Erreur :" . $exc->getMessage();
                        }
                    }
                
                
                
                
                
                }
                
                

                -
                Edité par ImmobilierImmobilier 25 septembre 2022 à 20:04:00

                • Partager sur Facebook
                • Partager sur Twitter
                  25 septembre 2022 à 18:50:13

                  Tu sembles être revenu à la raison donc,

                  Uncaught Error: Class 'user' not found

                  Comme le dit lame ta classe n'est pas trouvé, contrairement à d'autres langages (quoique pour beaucoup il faut import) pour utiliser une classe provenant d'un autre fichier il faut que ce fichier soit inclus. Je pense que tu l'as compris vu ton include d'un fichier provenant du dossier model ( je supposes que c'est la que p_uder est definis) c'est pour cette raison que je t'avais fait la remarque disant qu'il est possible que le chemin vers ton fichier soit mauvais.Donc privilégié en tous cas quand tu test require à include, avec require comme je te le montrais sur l'exemple tout à l'heure ton code se stoppera si le chemin est mauvais ce qui t'aidera à t'en rendre compte.

                  donc remplacer ton include par require une recherche google t'en dira plus sur l'utilisation de cette fonction ( en fait c'est la même que ton include)

                  Ensuite concernant ton code globalement je t'avais fait une autre remarque, isset sur $_POST la vérification ne sert à rien car c'est une super globale php, c'est comme faire if 1 == 1

                  tu dois vérifier que chaque donnée post que tu attends existe et soit non vide si c'est ce que tu attends ( comme déjà dit fonction empty et instruction conditionnel multiple avec &&) en espérant ne pas avoir ecris pour rien 

                  • Partager sur Facebook
                  • Partager sur Twitter

                  yasakani no magatama

                    25 septembre 2022 à 19:22:20

                    pour info l'authentification utilise deux table de ma base de donnée  à savoir   la table user  qui contient deux colonne  username  password et la table p_profil qui contient deux colonne username et profil
                    • Partager sur Facebook
                    • Partager sur Twitter

                    [Erreur] Uncaught Error: Class 'user' not found

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown