Bonjour !
J’ai un problème avec une classe que j’ai fait, ça me donne une Fatal error mais je ne sais pas d’ou ça peut venir
Voila un exemple de la classe :
<?php
//user.class.php
class User {
private $Login;
private $Password;
private $Type;
private $NbUser;
// Constructeur
public final function __construct($UnLogin,$UnPassword,$UnType='User') {
$this->Login = $UnLogin;
$this->Password = $UnPassword;
$this->Type = $UnType;
}
//Identification
public final function IdentUser($Login, $Password) {
return 'pwet'; // Pas encore codé !
}
}
Je stock les utilisateurs dans un tableaux qui se trouve dans une variable session :
<?php
//extrait de index.php
session_start();
// Création Administrateur par Défaut
require('class/user.class.php');
$User = new User('Admin', md5('password'), 'Admin');
$Login = $User->GetLogin();
$TabUser[$Login] = serialize($User);
$_SESSION['user'] = $TabUser;
?>
Puis je récupére mon objet (Par defaut une instance est lancé automatiquement, mon tableau n’est donc pas vide) pour éxécuter une méthode:
<?php
//identification.php
session_start();
$TabUser = $_SESSION['user'];
$login = $_POST['login'];
if (array_key_exists($login, $TabUser)) {
$User = unserialize($TabUser[$login]);
$User->IdentUser($_POST['login'], $_POST['password_md5']);
} else {
echo 'User non enregistré';
}
?>
Donc qd il arrive a la ligne avec ‘IdentUser(…)’, il me renvoi cet arreur là:
Fatal error: main() [function.main]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "User" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in c:\program files\easyphp1-8\www\HK\Cident\identification.php on line 7
Je ne comprend pas, pourtant j’ai bien fait un unserialize sur mon objet
Merci d’avance !
PS: Mon code n’est pas top top, je suis débutant ^^