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 :

[POO] Souci POO avec php 4


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Points : 4
    Points
    4
    Par défaut [POO] Souci POO avec php 4
    Bonjour,

    Je débute en POO et je rencontre un petit problème que je n'arrive pas à résoudre. A mon avis un spécialiste va trouver la solution en quelque secondes mais moi j'y arrive pas.

    Dans une première page, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ( isset($_POST['bouton']) )
    {
    	$obj1= new const1();
    	$obj1->test();
    }
    Dans ma seconde page, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class const1
    {
    function const1()
    	{
                  if ( isset($_POST['bouton']) )
    	{
    print "toto = ".$_POST['texte']."<br>";
    print "POST MARCHE = ".$_POST['type']."<br>";
    	$this->$toto = $_POST['texte'];
    print "texte AVANT type = ".$this->$toto."<br>";			
    	$this->$type = $_POST['type'];
    print "texte APRES type = ".$this->$toto."<br>";
                }
    }
    Explications :
    Mes 2 premiers print se passent bien à savoir que j'ai bien les valeurs postées.
    Mon 3ème print se passe bien aussi, à savoir qu'après l'affectation $this->$toto, j'ai bien le contenu de $this->$toto .
    C'est au dernier print que ça déconne car au lieu de m'afficher le contenu de $this->$toto, il m'affiche le contenu de $this->$type !

    Voilà. Si vous aviez l'explication...
    Merci infiment,

    Arnaud

  2. #2
    Membre actif Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Points : 296
    Points
    296
    Par défaut
    tu es sur que $_POST[texte] est différend de $_POST[type]

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Réponse numéro 3
    Oui.
    Texte est une textbox et type est une listbox.
    La listbox est remplie avec des vrais mots et quand je fais les tests, je mets n'importe quoi dans la textbox.

  4. #4
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    je comprends pas $this->$toto et $this->$type

    1. pour accéder à un attribut de classe c'est $classe->attribut et pas $classe->$attribut

    2. ta classe n'a pas d'attributs toto et type


    donc je sais pas comment PHP gère le truc
    je trouve déjà ça bizarre que ton print $this->$toto marche
    Dia [ Page DVP ] [ Site pro ]

  5. #5
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Essaie ce code, il t'aidera surement à comprendre ton erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    class Foo {
      function Foo()  {
        $this->$toto = '4';
      }
    }
    class Bar {
      function Bar() {
        $this->toto = '6';
      }
    }
    var_dump(new Foo(), new Bar());
    ?>

  6. #6
    Membre actif Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Points : 296
    Points
    296
    Par défaut
    Citation Envoyé par Dia_FR
    je comprends pas $this->$toto et $this->$type

    1. pour accéder à un attribut de classe c'est $classe->attribut et pas $classe->$attribut

    2. ta classe n'a pas d'attributs toto et type


    donc je sais pas comment PHP gère le truc
    je trouve déjà ça bizarre que ton print $this->$toto marche
    en fait il est dans sa classe donc $this désigne la classe tout simplement

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Merci ! Oui en effet c'est le dollar qui posait problème.
    J'étais tellement dedans hier que j'ai pas vu que la solution était aussi simple. Et le pire, c'est que mon chef de projet s'y est aussi pris la tête 30 minutes hier soir. A croire qu'on était fatigués tous les deux.

  8. #8
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    Citation Envoyé par frol
    en fait il est dans sa classe donc $this désigne la classe tout simplement
    yep, ça, ça va, c'était le coup du $classe->$truc que je voulais souligner
    merci quand même
    Dia [ Page DVP ] [ Site pro ]

Discussions similaires

  1. [POO] Conteneur d'application avec PHP
    Par BRAUKRIS dans le forum Langage
    Réponses: 5
    Dernier message: 29/09/2006, 09h23
  2. [POO] utiliser Word avec php
    Par ygaudin dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2006, 11h04
  3. Réponses: 14
    Dernier message: 23/05/2006, 19h44
  4. [POO] Problème de code PHP avec Internet Explorer
    Par bzoler dans le forum Langage
    Réponses: 5
    Dernier message: 12/02/2006, 11h00
  5. Réponses: 3
    Dernier message: 23/08/2004, 17h49

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