Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/10/2011, 11h05   #1
Membre du Club
 
Michael Di Blasio
Étudiant
Inscription : mai 2008
Messages : 138
Détails du profil
Informations personnelles :
Nom : Michael Di Blasio

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 138
Points : 49
Points : 49
Par défaut problème avec mes session Catchable fatal error: Object of class __PHP_Incomplete_Class

Bonjour,

Sur mon projet je crée des session au moment du login et tous fonctionne je peux rentrer sur le site et tous a coup il bloque et me me donne ceci comme message d'erreur.

Catchable fatal error: Object of class __PHP_Incomplete_Class could not be converted to string
Quand je regarde dans mes fichier c'est la ligne qui demande afficher le nom et prénom repris par les variable de session non et prénom.

A se point j'ai afficher mes varible de session en debut de page et quand ca crash voici se que j’obtiens

Array ( [typeUser] => Responsable [login] => 1 [idPersonne] => 1 [nom] => __PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => Chaine [chaine:private] => qwer [str_const:private] => #[<>_/\=]# [error_message:private] => [valide_message:private] => ) [prenom] => __PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => Chaine [chaine:private] => qwert [str_const:private] => #[<>_/\=]# [error_message:private] => [valide_message:private] => ) [droitAcces] => __PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => Chaine [chaine:private] => 3 [str_const:private] => [error_message:private] => [valide_message:private] => ) [typeEtablissement] => Etablissement [idEtablissement] => 1 )

voici le code ou mes session sont créer
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
session_start();
include_once("../../Class/Singleton.class.php");
include_once("../../Class/Sql.class.php");
include_once("../../Class/Images.class.php");
include_once("../../Class/ClassPdo.class.php");
include_once("../../Class/Chaine.class.php");
include_once("../../Class/Authentification.class.php");
 
$username = new Chaine($_POST['username']);
$pass = new Chaine($_POST['password']);
$pass->cryptString();
$auth = new Authentification($username->getChaine(),$pass->getChaine());
if($auth->checkLogin()){
    $sql= Singleton::getInstance();
    $objLogin = $sql->getDataLogin($username->getChaine());
    if($objLogin->Ref_IdResponsables != NULL){
        $tabDonnee = $sql->getSessionDataResponsable($objLogin->IdLogins);
        $_SESSION['typeUser'] = "Responsable" ;
    }else{
        $tabDonnee = $sql->getSessionDataEmploye($objLogin->IdLogins);
        $_SESSION['typeUser'] = "Employes" ;  
    }
    $_SESSION['login'] = true;
    $_SESSION['idPersonne'] = $tabDonnee[0]['Id']; 
    $_SESSION['nom'] = $tabDonnee[0]['Nom'];
    $_SESSION['prenom'] = $tabDonnee[0]['Prenom'];
    $_SESSION['droitAcces'] = $tabDonnee[0]['DroitAcces'];
    if($tabDonnee[0]['IdEtablissement'] != NULL AND $tabDonnee[0]['IdAssociation'] != NULL ){
       $_SESSION['typeEtablissement'] = "All";
       $_SESSION['idEtablissement'] = $tabDonnee[0]['IdEtablissement'];  
       $_SESSION['idAssociation'] = $tabDonnee[0]['IdAssociation'];  
    }else if($tabDonnee[0]['IdEtablissement'] != NULL){
        $_SESSION['typeEtablissement'] = "Etablissement";
        $_SESSION['idEtablissement'] = $tabDonnee[0]['IdEtablissement']; 
    }else{
        $_SESSION['typeEtablissement'] = "Association";
        $_SESSION['idAssociation'] = $tabDonnee[0]['IdAssociation'];         
    }
    echo true;
}else{
    echo false;
}
et voici le code ou est l'erreur menu.inc.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
 
<div id="container">
    <div id="contner">
        <div id="menu">
            <div id="connexion">
            <?php
 
            echo "<a href='#' id='disconnect'><img  class='titreIcon' src='Images/Icones/cancel.png' title='disconnetti'/></a> " . $_SESSION['nom'] . " " . $_SESSION['prenom'];//ici il me donne l'erreur
            ?>
            </div>
<?php
et voici le code contenue dans la page index.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
//print_r($_SESSION);
 
$sql = Singleton::getInstance();
 
$tabPage = $sql->getPage($page);
 
if (isset($_SESSION['login'])) {
    include_once ('Includes/menu.inc.php');
} else {
    include_once ('Includes/login.inc.php');
}
?>
avec ceci je remarque que la variable de session login existe vu que c'est la page menu.inc.php qui est appeler

Ce que je ne comprend pas c'est pourquoi les variables de session contenant du texte crash

Si quelqu'un peux m'aider je le remercie par avance des info qui me seront fourni

Di blasio Michael
diblasio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 12h00   #2
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 811
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 811
Points : 1 527
Points : 1 527
Cette erreur survient lorsqu'on stocke un objet en session mais qu'on ne charge pas la class avant le session_start().
Tu dois avoir un objet Chaine en session, mais PHP est incapable de l'instancier au moment de la récupération de la session cartu inclus sa définition après.
Tentes de mettre ton include() de la class Chaine avant le session_start() et redis nous.
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 12h15   #3
Membre du Club
 
Michael Di Blasio
Étudiant
Inscription : mai 2008
Messages : 138
Détails du profil
Informations personnelles :
Nom : Michael Di Blasio

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 138
Points : 49
Points : 49
Merci pour ta réponse
j'ai fais ce que tu m'as demander mais le problème persiste

J'ai oublier de dire que avec WAMP en local ça fonctionne très bien c'est au moment ou je le transfère sur le serveur de mon hébergeur que sa crash.

J'ai tester le type de mes variable avant de les mettre en session est ce ne sont pas des objet mais des string que je met en session.
C'est cela que je ne comprends pas. Pourquoi la classe Chaine intervient a ce moment là
diblasio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 17h00   #4
Membre du Club
 
Michael Di Blasio
Étudiant
Inscription : mai 2008
Messages : 138
Détails du profil
Informations personnelles :
Nom : Michael Di Blasio

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 138
Points : 49
Points : 49
j'ai changer le non de mes variable de session pour qu'il n'y ais aucune ambiguitée avec les variable d'objet chaine

ca a l'air de fonctionner

Mais par contre il devrais pas me donner un aitre message si il ne sais pas si c'est une variable de session ou une variable obj chaine

exemple
$nom = new Chaine ('Michael')
$session('nom') = $nom

moi j'ai transformer en $_session('session_Nom') et sa a l'air de fonctionner

C'est la première fois que cela m'arrive
pas de réponse a cela

Si vous en connaissez une merci de mon faire part

Di Blasio Michael
diblasio est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h25.


 
 
 
 
Partenaires

Hébergement Web