PlagLeFleau
Messages postés8Date d'inscriptionsamedi 5 mars 2022StatutMembreDernière intervention21 septembre 2022
-
5 mars 2022 à 13:25
PlagLeFleau
Messages postés8Date d'inscriptionsamedi 5 mars 2022StatutMembreDernière intervention21 septembre 2022
-
5 mars 2022 à 23:44
Bonjour,
J'ai un problème lorsque j'essaie de récupérer l'objet que j'ai dans enregistré dans la variable de session.
Voilà l'erreur :
Fatal error: Uncaught Error: The script tried to call a method on an incomplete object. Please ensure that the class definition "Connected" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide an autoloader to load the class definition in C:\xampp\htdocs\php\menu.php:28 Stack trace: #0 C:\xampp\htdocs\index.php(10): require_once() #1 {main} thrown in C:\xampp\htdocs\php\menu.php on line 28
<?phpinclude_once"Utilisateur.class.php";include_once'Rang.class.php';class GestionUtilisateur
{privatearray$users=array();private string $dsn='mysql:host=127.0.0.1;dbname=univers;port=3306;charset=utf8';privatearray$ranks;publicfunction__construct(){
try {$bdd=newPDO($this->dsn,'root','');}catch(PDOException $exception){mail('VOTRE_EMAIL','PDOException',$exception->getMessage());exit('Erreur de connexion à la base de données');}$reponse=$bdd->query('SELECT * FROM user');while($donnees=$reponse->fetch()){$this->addUser($donnees['username'],$donnees['password'],$donnees['rang'],$donnees['id']);}$reponse=$bdd->query('SELECT * FROM rank');while($donnees=$reponse->fetch()){$this->ranks[]=newRang($donnees['id_rank'],$donnees['rank']);}$reponse->closeCursor();}publicfunctionaddUser($username,$password,$rank,$id){$this->users[]=newUtilisateur($username,$password,$rank,$id);}publicfunctionaddNewUser($username,$password){
try {$bdd=newPDO($this->dsn,'root','');}catch(PDOException $exception){mail('VOTRE_EMAIL','PDOException',$exception->getMessage());exit('Erreur de connexion à la base de données');}$sql="INSERT INTO user(id, username, password, rang) VALUES (null,?,?,3)";$stmt=$bdd->prepare($sql);$stmt->execute([$username,$password]);}publicfunctionreadTab(): string{$rang= null;$return="<div class='centre'><table class='list'><tr><td class='listCell'>Ids</td><td class='listCell'>Usernames</td><td class='listCell'>Passwords</td><td>Ranks</td>";for($i=0;$i<count($this->users);$i++){for($j=0;$j<count($this->ranks);$j++){if($this->users[$i]->getRank()==$this->ranks[$j]->getId()){$rang=$this->ranks[$j]->getRank();break;}}$return.="<tr>";$return.="<td class='listCell'>".$this->users[$i]->getId()."</td>";$return.="<td class='listCell'>".$this->users[$i]->getUsername()."</td>";$return.="<td class='listCell'>".$this->users[$i]->getPassword()."</td>";$return.="<td class='listCell'>".$rang."</td>";$return.="</tr>";}$return.="</table></div>";return$return;}publicfunctiongetUserRank(int $rankID): string {for($i=0;$i<count($this->ranks);$i++){if($rankID==$this->ranks[$i]->getId()){return$this->ranks[$i]->getRank();}}return"null";}publicfunctiongetUsers():array{return$this->users;}publicfunctiongetRanks():array{return$this->ranks;}}
Class rang:
<?phpclass rang
{private int $id;private string $rank;publicfunction__construct(int $id, string $rank){$this->setId($id);$this->setRank($rank);}publicfunctiongetId(): int
{return$this->id;}publicfunctionsetId(int $id): void
{$this->id =$id;}publicfunctiongetRank(): string
{return$this->rank;}publicfunctionsetRank(string $rank): void
{$this->rank =$rank;}}
yg_be
Messages postés23472Date d'inscriptionlundi 9 juin 2008StatutContributeurDernière intervention18 février 2025Ambassadeur1 568 5 mars 2022 à 14:25
bonjour,
peux-tu indiquer le nom du fichier pour chaque ficher que tu partages?
nous as-tu montré l'ensemble de ton code?
PlagLeFleau
Messages postés8Date d'inscriptionsamedi 5 mars 2022StatutMembreDernière intervention21 septembre 2022 5 mars 2022 à 16:28
Je suis pas sur d'avoir compris mais voilà tous les fichiers que j'ai.
yg_be
Messages postés23472Date d'inscriptionlundi 9 juin 2008StatutContributeurDernière intervention18 février 20251 568
>
PlagLeFleau
Messages postés8Date d'inscriptionsamedi 5 mars 2022StatutMembreDernière intervention21 septembre 2022 5 mars 2022 à 16:36
nous as-tu montré le contenu de tous ces fichiers?
quand tu partages le contenu d'un fichier, peux-tu veiller à préciser le nom du fichier?
PlagLeFleau
Messages postés8Date d'inscriptionsamedi 5 mars 2022StatutMembreDernière intervention21 septembre 2022
>
yg_be
Messages postés23472Date d'inscriptionlundi 9 juin 2008StatutContributeurDernière intervention18 février 2025 5 mars 2022 à 17:14
Le premier fichier c'est le menu.php, le deuxième c'est le connected.class.php, le troisième c'est le GestionUtilisateur.class.php et le quatrième c'est le Rang.class.php
yg_be
Messages postés23472Date d'inscriptionlundi 9 juin 2008StatutContributeurDernière intervention18 février 20251 568
>
PlagLeFleau
Messages postés8Date d'inscriptionsamedi 5 mars 2022StatutMembreDernière intervention21 septembre 2022 5 mars 2022 à 17:32
Il n'y en a pas d'autres?
PlagLeFleau
Messages postés8Date d'inscriptionsamedi 5 mars 2022StatutMembreDernière intervention21 septembre 2022
>
yg_be
Messages postés23472Date d'inscriptionlundi 9 juin 2008StatutContributeurDernière intervention18 février 2025 5 mars 2022 à 17:48
5 mars 2022 à 16:28
5 mars 2022 à 16:36
quand tu partages le contenu d'un fichier, peux-tu veiller à préciser le nom du fichier?
5 mars 2022 à 17:14
5 mars 2022 à 17:32
5 mars 2022 à 17:48