IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PhpMyObject Discussion :

Bug ? Je suis completement perdu .


Sujet :

PhpMyObject

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut Bug ? Je suis completement perdu .
    Alors j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Call to undefined method population::initObjectNew() in D:\www\pmo\PMO_core\PMO_MyObject.php on line 44
    sachant que le bout de code n'a moi qui fait planter c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $population = PMO_MyObject::factory("population");
    appelant la fonction de PMO:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public static function factory($tablename){
      $table = new PMO_MyTable($tablename);
      $object = PMO_MyObject::internalfactory($table);
      $object->initObjectNew(1);
    return $object;
    }
    j'utilise PhpMyObject version 0.10

    ma population est bien une table de ma bdd
    et que le reste du code marche parfaitement par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $utilisateur = PMO_MyObject::factory("utilisateur");
    $utilisateur->pseudo = $pseudo;
    $utilisateur->mail = $mail;
    $utilisateur->password = md5($password1);
    try
    {
    	$utilisateur->commit();
    }
    catch(Exception $e)
    {
    	die($e->getMessage());
    }
    Voilou, je suis completement perdu ... Merci de votre aide

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 160
    Points
    160
    Par défaut
    mouai bizarre, et cette méthode existe initObjectNew() dans PMO_MyObject ?

    Est-ce que tu fais appel à cette méthode quelque part dans ton code ? Utilises tu le class loader ?

    A la rigueur copie colle la partie pmo concernant ta table population
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    mouai bizarre, et cette méthode existe initObjectNew() dans PMO_MyObject ?

    ouip, mon 3° quote c'est dans PMO_MyObject

    Est-ce que tu fais appel à cette méthode quelque part dans ton code ? Utilises tu le class loader ?

    Je n'appelle jamais cette méthode directement (je savais pas qu'elle existait) Je n'utilise pas le classe loader

    A la rigueur copie colle la partie pmo concernant ta table population

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $population = PMO_MyObject::factory("population");
    $population->idVil = $idVil;
    $population->idRac = $idRac;
    $population->dateNaiss = $date-$i;
    $population->homme = $h;
    $population->femme = $f;
    try
    {
    	$population->commit();
    }
    catch(Exception $e)
    {
    	die($e->getMessage());
    }
    mais ça plante juste avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PMO_MyObject::factory("population");
    moi aussi ça me parait très bizarre ... Surtout que j'utilise exactement la même technique avec d'autre table et ça marche ...

    Là en plus on voit que le chemin vers PMO est bon, ensuite le nom de la table semble bon ($tablename) puisqu'on obtient quelquechose ($table) qui a son tour est transformer en ($object) et seulement là, ça marche plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	private function initObjectNew($value){
    		$this->object_new = $value;
    	}
    défini dans le même fichier PMO_MyObject.php ... On ne peut donc pas dire que c'est parceque le fichier n'est pas inclu.

    reste donc le $this qui ne serait pas du bon type ?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 160
    Points
    160
    Par défaut
    heu non ! c'est pas le this !!! c est le private qui devrait être une fonction public !

    public function initObjectNew($value){
    je comprends pas comment ça se fait que t as un private, et comment ça se fait que ça marche pour le reste

    Il y a un truc complètement fou (encore made in php). Il faut que je vérifie l'archive de la v 0.10. T'as récupéré les sources sur le cvs ou directement l'archive ?
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    J'ai mis en public, toujours pareil ...

    reste cette fonction qui pourrait posé problême:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	public static function internalfactory(PMO_Table $table){
    		$tablename = $table->getTableName();
    		if (class_exists($tablename)){
    			$object = new $tablename($table);	
    		}else{
    			$object = new PMO_MyObject($table);
    		}
    		return $object;
    	}
    mais j'ai supprimé la première partie du if puis la 2° ... A chaque fois même résultat création d'une entré pour utilisateur et plantage pour population.

    table que j'ai effacé puis réécrite fn d'être sur qu'il n'y avait pas un problême avec un espace au début ou à la fin ...

    toujours aucune amélioration ...

    "T'as récupéré les sources sur le cvs ou directement l'archive ?" alors ça je sais plus ... J'ai encore un .rar ...

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 160
    Points
    160
    Par défaut
    je vais regarder le .rar
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

  7. #7
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    franchement je suis désolé ...

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 160
    Points
    160
    Par défaut
    est ce que tu as une classe qui s'appelle population ?
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 160
    Points
    160
    Par défaut
    Citation Envoyé par aedius Voir le message
    franchement je suis désolé ...
    il y a pas de quoi au contraire c est un plaisr de t aider
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

  10. #10
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par code34 Voir le message
    est ce que tu as une classe qui s'appelle population ?
    arggghhhhhhhhh vi XD

    je viens de renommé et ça marche c'était ça ...

    Merci infiniment !

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 160
    Points
    160
    Par défaut
    Citation Envoyé par aedius Voir le message
    arggghhhhhhhhh vi XD

    je viens de renommé et ça marche c'était ça ...

    Merci infiniment !
    C'est clairement un bug lié aux espaces de nomage PMO :/ Dis moi si cela est point bloquant pour toi, si c'est le cas, je ferais un correctif.
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

  12. #12
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    non ce n'est pas bloquant ça va ...

    Il suffit juste que je le sache car c'est vrai que d'habitude je fais souvent des classes avec les même noms que mes tables.

    Je mettrais des diminutifss voilà tout

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 160
    Points
    160
    Par défaut
    Citation Envoyé par aedius Voir le message
    non ce n'est pas bloquant ça va ...

    Il suffit juste que je le sache car c'est vrai que d'habitude je fais souvent des classes avec les même noms que mes tables.

    Je mettrais des diminutifss voilà tout
    Je vais quand même intégré ça en correctif dans la prochaine version.
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

  14. #14
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    ouki comme tu veus ...

    Sinon, j'ai un autre soucis ... plus lourd pour moi utilisateur ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($result['droit']->moderateur == 1)
    {
    	$smarty->assign('moderateur','oui');
    }
    plante des que je mets le champs moderateur de la table droit à 0 ... Du coup, jai mis 5 et ça marche ...

    J'ai testé, des que j'ai un champs a 0 et que je veus l'exploiter ça plante avec un magnifique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Uncaught exception 'Exception' with message 'Error: attribute value is undefine' in D:\www\pmo\PMO_core\PMO_MyObject.php:142 Stack trace: #0 D:\www\code\testlog.php(38): PMO_MyObject->__get('adminJeu') #1 D:\www\accueil.php(12): require_once('D:\www\code\tes...') #2 {main} thrown in D:\www\pmo\PMO_core\PMO_MyObject.php on line 142
    Ce qui peut etre génant parceque j'aurais surement des champs à 0 ... Dans d'autres tables et ça c'est sacrément plus bloquant que l'autre.

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 160
    Points
    160
    Par défaut
    j'arrive pas à reproduire ton bug.

    Est ce que tu peux me copier le code que tu utilises ?

    Si je comprends bien c'est pas en paramètrant la valeur à 0, c'est en la récupérant que tu as ce message ?
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

  16. #16
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $controler = new PMO_MyController();
    	$map = $controler->queryController("SELECT * FROM droit WHERE idUti = '".$_SESSION['idUti']."' ;");
    	while($result = $map->fetchMap())
    	{
    		//un administrateur ne peut etre banni
    		if ($result['droit']->adminJeu == 1)
        }
    et oui, c'est lorque je récupère la valeur 0 dans $result['droit']->adminJeu que ça plante :/

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 160
    Points
    160
    Par défaut
    normalement c'est parce que ta colonne adminJeu n'existe pas .
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

  18. #18
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    décembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    mais pourquoi si je mets '5' par exemple à ce moment là ça marche ? Parceque là ça trouve bien la valeur avec 5 ... Mais si je mets 0, ça trouve pas la colonne ...

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 181
    Points : 160
    Points
    160
    Par défaut
    Citation Envoyé par aedius Voir le message
    mais pourquoi si je mets '5' par exemple à ce moment là ça marche ? Parceque là ça trouve bien la valeur avec 5 ... Mais si je mets 0, ça trouve pas la colonne ...
    En fait, soit ta colonne n'existe pas, soit la valeur est vide au lieu d'être 0. J'ai fais le test avec des colonnes à 0, et je n'ai pas eu le problème. Je réesserais ce soir si tu me confirmes que dans ta colonne, tu as bien la valeur 0, et non un vide.
    PhpMyObject teck leader
    http://pmo.developpez.com

    La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Completement perdu :x
    Par Eikodolmayan dans le forum 1&1
    Réponses: 6
    Dernier message: 10/03/2008, 23h35
  2. Je suis complétement perdu ?
    Par hsazerty dans le forum Code::Blocks
    Réponses: 3
    Dernier message: 25/11/2007, 21h50
  3. [MySQL] Probleme MySQL - Completement perdu
    Par codefalse dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/06/2007, 18h14
  4. Typage Caml light (je suis totalement perdu!)
    Par ficarre dans le forum Caml
    Réponses: 11
    Dernier message: 24/02/2007, 15h42
  5. Complètement perdu avec le graphisme
    Par olympecomm dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 12/09/2006, 12h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo