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

MkFramework Discussion :

lire rapport d'erreurs


Sujet :

MkFramework

  1. #1
    Membre régulier
    lire rapport d'erreurs
    Quand je veux créer un nouvel élève dans ma table eleves j'ai cette erreur apres avoir soumis le formulaire à l'enregistrement
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    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
    Erreur
     
    Creating default object from empty value
    #0 /var/www/mk/data/genere/secu03/module/eleves/main.php(133): exception_error_handler(2048, 'Creating defaul...', '/var/www/vhosts...', 133, Array)
    #1 /var/www/mk/data/genere/secu03/module/eleves/main.php(56): module_eleves->save()
    #2 /var/www/mk/data/genere/secu03/module/eleves/main.php(37): module_eleves->_new()
    #3 /var/www/mk/data/genere/secu03/module/classes/main.php(83): module_eleves->_index()
    #4 /var/www/mk/lib/framework/class_root.php(232): module_classes->_show()
    #5 /var/www/mk/data/genere/secu03/public/index.php(54): _root->run()
    #6 {main}
     
    Detail:
    #0 /var/www/mk/data/genere/secu03/module/eleves/main.php (133) 
    exception_error_handler( , 'Creating default object from empty value' , '/var/www/mk/data/genere/secu03/module/eleves/main.php' , , Array ( [oPluginXsrf] => plugin_xsrf Object ( [sSalt:plugin_xsrf:private] => fdsfA34T679hjfdsAfef [iLifetime:plugin_xsrf:private] => 360 [sMsg:plugin_xsrf:private] => [bUseSession:plugin_xsrf:private] => 0 [sSessionVar:plugin_xsrf:private] => xsrfTokenArray ) [iId] => [oUsers] => row_users Object ( [sClassModel:protected] => model_users [bChooseUpdate:abstract_row:private] => [tProperty:protected] => Array ( ) [tPropertyToUpdate:protected] => ) [oUser] => stdClass Object ( [classe_id] => 1 ) ) ) 
    #1 /var/www/mk/data/genere/secu03/module/eleves/main.php (56) 
    module_eleves -> save( ) 
    #2 /var/www/mk/data/genere/secu03/module/eleves/main.php (37) 
    module_eleves -> _new( ) 
    #3 /var/www/mk/data/genere/secu03/module/classes/main.php (83) 
    module_eleves -> _index( ) 
    #4 /var/www/mk/lib/framework/class_root.php (232) 
    module_classes -> _show( ) 
    #5 /var/www/mk/data/genere/secu03/public/index.php (54) 
    _root -> run( ) 
    #6 {main}


    Comment le lire ce rapport pour savoir de quel coté je dois chercher ou est le problème?
    Je crois comprendre qu'il manque une info du formulaire mais laquelle? et à caus ede quoi?

  2. #2
    Rédacteur

    Une pile d'appel se lit chronologiquement de bash en haut (on dépile la pile)

    on voit que la derniere action
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    /var/www/mk/data/genere/secu03/module/eleves/main.php(133)

    concerne la ligne 133 /var/www/mk/data/genere/secu03/module/eleves/main.php
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Membre régulier
    bon ok!
    il y a ça à la ligne 133
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    $oUser->classe_id=_root::getParam('id');


    de la méthode save()
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    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
    43
    44
    45
    46
    47
    public function save(){
    		if(!_root::getRequest()->isPost() or _root::getParam('formmodule')!=self::$sModuleName ){ //si ce n'est pas une requete POST on ne soumet pas
    			return null;
    		}
     
    		$oPluginXsrf=new plugin_xsrf();
    		if(!$oPluginXsrf->checkToken( _root::getParam('token') ) ){ //on verifie que le token est valide
    			return array('token'=>$oPluginXsrf->getMessage() );
    		}
     
    		$iId=module_eleves::getParam('id',null);
    		if($iId==null){
    			$oUsers=new row_users;
                $oUser->classe_id=_root::getParam('id');
    		}else{
    			$oUsers=model_users::getInstance()->findById( module_eleves::getParam('id',null) );
    		}
     
    		$tId=model_users::getInstance()->getIdTab();
    		$tColumn=model_users::getInstance()->getListColumn();
    		foreach($tColumn as $sColumn){
    			 if(isset($_FILES[$sColumn]) and $_FILES[$sColumn]['size'] > 0){
    				$sNewFileName='data/upload/'.$sColumn.'_'.date('Ymdhis');
     
    				$oPluginUpload=new plugin_upload($_FILES[$sColumn]);
    				$oPluginUpload->saveAs($sNewFileName);
    				$oUsers->$sColumn=$oPluginUpload->getPath();
    				continue;	
    			}else  if( _root::getParam($sColumn,null) ==null ){ 
    				continue;
    			}else if( in_array($sColumn,$tId)){
    				 continue;
    			}
     
    			$oUsers->$sColumn=_root::getParam($sColumn,null) ;
    		}
     
    		if($oUsers->isValid()){
     
    			$oUsers->save();
    			//une fois enregistre on redirige (vers la page liste)
    			$this->redirect('list');
    		}else{
    			return $oUsers->getListError();
    		}
     
    	}


    je vois pas ce que je doit comprendre et faire

  4. #4
    Rédacteur

    C'est oUsers et pas oUser
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Membre régulier
    Ok merci autant pour moi.
    Un petit 's' qui m'a coûté une bonne heure de recherche!

    En fait si je comprend bien dans le message d'erreur il ne faut lire que la dernière ligne.
    Que signifie les autres lignes?
    Ce sont des erreurs aussi?
    Nous apportent-elles quelques chose?

  6. #6
    Rédacteur

    Les lignes dessous ne sont effectivement pas de erreurs, elles indiquent le chemin parcouru pour arriver à l'erreur.

    Ca permet de savoir à quel endroit et dans quel condition on en est arrivé à cette erreur.

    Apres, sur le mkframework, il y a deux piles d'appel : la première est celle de php, la même sur tous les frameworks dite "light", la seconde est propre au mkframework: je detaille au maximum la pile d'appel pour avoir plus d'informations (les messages ne sont pas tronquées)
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux