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

Langage PHP Discussion :

Cannot use object of type __PHP_Incomplete


Sujet :

Langage PHP

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut Cannot use object of type __PHP_Incomplete
    Bonjour à tous,

    Je travaille sur un petit projet et tout se passait bien en local.

    Le problème, j'ai mis ce projet sur le serveur de prod et maintenant j'ai ce message d'erreur?

    Fatal error: Cannot use object of type __PHP_Incomplete_Class as array in /vdir/www.hello-web.net/var/www/vhosts/www.domaine.net/web/enquete.domaine.net/include/poo/form/formulaire.class.php on line 138
    Avez vous une idée pourquoi?

    Milles mercis
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Bonjour,

    Il faudrait nous montrer le code posant problème pour que l'on puisse t'aider.
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Ben le truc c'est que je nais pas le quel.

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    			    $submit = new Form('input','id','e','submit','class','');
            $submit->type='submit';
            $submit->value='Envoyer';
            $submit->Display();

    Si j'enlève ceci, ca marche. si je le laisse ca ne marche plus.

    Par contre le message d'erreur me dirige vers une autre page à la ligne 138 et à cette ligne j'ai ceci
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    		if(is_int($string_condition)){
    			$this->mandatory = $string_condition;
    		}elseif(empty($string_condition)){
    ligne 138 =>		echo $_SESSION[$name]['fieldLabel'] = $this->fieldLabel;
    		}else{

    Voci le code complet de mon constructeur:

    Code PHP : 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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    function __construct($balise,$id,$fieldLabel,$name,$class,$string_condition){
    		$this->balise = $balise;
    		$this->id = $id.'_'.$name;
    		$this->name = $name;
    		$this->class = $class;
    		$this->fieldLabel = $fieldLabel;
     
    		if(is_int($string_condition)){
    			$this->mandatory = $string_condition;
    		}elseif(empty($string_condition)){
    			echo $_SESSION[$name]['fieldLabel'] = $this->fieldLabel;
    		}else{
     
    		// Liste des conditions possibles
    			$validCondition = array(
    				'isNotEmpty',
    				'isEmail',
    				'isString',
    				'isStringOnly',
    				'isDate',
    				'isNumeric',
    				'minDigit', 	// (minDigir:5) Doit avoir au moins 5 caracteres
    				'maxDigit', 	// (maxDigit:5) Doit avoir max 5 caractères
    				'nbDigit', 		// (digit:5) doit avoir 5 caractere
    				'removeAccent',
    				'strip_tags',	// strip_tags:[br],[hr],[p]
    				'captcha'
    			);
     
     
    			//Place les conditions sous forme d'array
    			$array_condition = explode(',',$string_condition);
     
    			// Parcours le tableau et liste les condition
     
    			//$this->toValidates[$name]=array();
    			foreach ($array_condition as $key => $condition){
     
    				//Créée un nouvelle array afin de départager les conditions qui ont une valeur. Expl: minDigit:8
    				$_condition = explode(":",$condition);
     
    				if(!in_array($_condition[0],$validCondition)){
    					echo $name.': ['.$_condition[0].'] is not valid. ';
    				}else{	
    					$_condition0 = $_condition[0];
    					if(isset($_condition[1])) $_condition1 = ':'.$_condition[1];
    						else $_condition1= "";
     
    					$this->toValidate['conditions'][]=$_condition0.$_condition1;
    				}
     
    			}
    			$_SESSION[$this->name] = $this->toValidate;
    			$_SESSION[$this->name]['fieldLabel'] = $this->fieldLabel;
     
    			#print_r($_SESSION[$this->name]);
    			#echo '<hr>';
    		}
    	}

    J'espère que ca peut aider
    Merci en tout cas.
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  4. #4
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Dans la session, $_SESSION[$name] ne serait pas un objet par hasard ?

    Il faudrait utiliser la syntaxe -> et non par indice je pense.
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    il faut inclure la classe avant de lancer ta session

Discussions similaires

  1. Cannot use object of type SoapFault as array
    Par sajodia dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 01/08/2012, 11h46
  2. [MySQL] Fatal error: Cannot use object of type PDOStatement as array
    Par picool dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 01/03/2012, 15h13
  3. [ZF 1.10] Cannot use object of type stdClass as array
    Par cyrux dans le forum Zend Framework
    Réponses: 12
    Dernier message: 16/08/2010, 14h25
  4. [PHP 5.2] Fatal error: Cannot use object of type CPanier as array in . .
    Par Gauldo dans le forum Langage
    Réponses: 10
    Dernier message: 12/01/2009, 13h53
  5. Cannot use object linking or embeding
    Par LefortLudovic dans le forum Excel
    Réponses: 3
    Dernier message: 04/01/2008, 17h43

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