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 :

Erreur PHP Objet


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Burkina Faso

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Février 2003
    Messages : 124
    Points : 63
    Points
    63
    Par défaut Erreur PHP Objet
    Bonjour,
    Je suis débutant en PHP. J'ai cette page que j'ai nommé "InserrerAbonne.php" qui est appelée par un POST d'une balise "form" d'une autre page.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    include("Abonne.class.php");
    include("AbonnePhysique.class.php");
     
    if ($_POST['qualite'] == 'Personne physique')
    $abonne=new AbonnePhysique($_POST['nom'], $_POST['prenom'], $_POST['adresse'], $_POST['email']);
     
    $abonne->enregistrer();
    ?>
    Lorsque que j'active le submit, il m'est affiché le message d'erreur suivant :

    Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in c:\program files\easyphp1-8\www\tp_tic\Abonne.class.php on line 3
    Débutant que je suis, je n'arrive pas à me retrouver ; quelqu'un pourrais-je m'aider ?

    Merci pour votre contribution.

    PS : J'ai les classes incluses sont définies ainsi qu'il suit :

    Abonne.class.php
    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 Abonne {
        protected $adresse, $email;
     
        public function __construct($adr, $em)
        {   $this->adresse = $adr;
            $this->email = $em;
        }
     
        private function enregistrer();
     
    }
    ?>

    AbonnePhysique.class.php
    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
    <?php
    class AbonnePhysique extends Abonne {
     
        public function __construct($nom, $prenom, $email)
        {   $this->nom = $nom;
            $this->prenom = $prenom;
     
        }
     
        private function enregistrer();
        {
         //Requete d'insertion d'un abonné
         $requete="insert into abonne (nom, prenom, adresse, email)";
         $requete.="values ('".$this->nom ."', '".$this->prenom ."', '".$this->adresse."', '".$this->email."');";
     
         //Exécution de la requête
         if($resultat=mysql_query($requete)) 
            echo "L'insertion s'est bien deroulée";
         else
            echo mysql_error();
     
         /*<a href="ajoutabonne.php">Retour au formulaire d'inscription<br>
         </a><br>
         <a href="listeabonne.php">Retour à la liste des abonnés</a>*/
         }
     
        }
    }
    ?>

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 343
    Points : 392
    Points
    392
    Par défaut
    et en mettant '{' sur la même ligne que ta fonction __construct
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class Abonne {
    protected $adresse, $email;
     public function __construct($adr, $em){ 
        $this->adresse = $adr;
        $this->email = $em;
     }
    private function enregistrer();
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Burkina Faso

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Février 2003
    Messages : 124
    Points : 63
    Points
    63
    Par défaut
    J'ai mis '{' sur la même ligne que ta fonction __construct, mais le problème demeure.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class Abonne {
    protected $adresse, $email;
     public function __construct($adr, $em){ 
        $this->adresse = $adr;
        $this->email = $em;
     }
    private function enregistrer();
    }

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    Easyphp 1.8 ----> PHP 4 non ?

    Auquel cas met à jour ta version de PHP ou easyphp

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 343
    Points : 392
    Points
    392
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class Abonne {
      protected $adresse, $email;
      public function __construct($adr, $em){ 
        $this->adresse = $adr;
        $this->email = $em;
      }
      private function enregistrer(){
       // vide
      }
    }

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Burkina Faso

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Février 2003
    Messages : 124
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Petibidon Voir le message
    Easyphp 1.8 ----> PHP 4 non ?

    Auquel cas met à jour ta version de PHP ou easyphp
    Je travaille sous EasyPHP et le localhost m'affiche les informations de version suivantes :

    - APACHE 1.3.33
    - PHP 4.3.10
    - PHPMyAmin 2.6.1
    - MySQL 4.1.9

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Burkina Faso

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Février 2003
    Messages : 124
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par tatareau Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class Abonne {
      protected $adresse, $email;
      public function __construct($adr, $em){ 
        $this->adresse = $adr;
        $this->email = $em;
      }
      private function enregistrer(){
       // vide
      }
    }
    Merci pour l'aide combien précieuse. J'ai corrigé le code comme ci-dessus indiqué mais le problème demeure : toujours le même message d'erreur.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    Change de version d'easyphp. Tu programmes en PHP 5 avec un interpréteur PHP 4.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 343
    Points : 392
    Points
    392
    Par défaut
    +1 ptitbidon le __contruct pas bon avec php4. Fait un CLI php -v ou un script php avec phpinfo(). Tu verras ta version, pour l'objet jette ton dévolu sur au moins 5.2.2.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Burkina Faso

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Février 2003
    Messages : 124
    Points : 63
    Points
    63
    Par défaut
    Merci à tous pour vos contributions très enrichissantes. Suite à vos suggestions, j'ai désinstallé EasyPhp1-8 et installé EasyPhp5.3.0. Il s'en suit que mon index.php n'affiche désormais qu'une page vierge, sans aucun contenu, même pas le menu ; je me demande s'il n'ya pas de compatibilité ascendante en php ou est-ce autre chose ? Cependant j'ai bien pu exporté ma petite BD de trois tables de la version précédente à l'actuelle sans problème.

Discussions similaires

  1. [Sessions] Message erreur PHP création de session
    Par Ylias dans le forum Langage
    Réponses: 2
    Dernier message: 29/09/2005, 11h11
  2. Réponses: 2
    Dernier message: 07/09/2005, 09h55
  3. [Apache]Erreur PHP
    Par orditeck dans le forum Apache
    Réponses: 2
    Dernier message: 05/07/2005, 22h42
  4. Erreur php je pense
    Par Anduriel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/06/2005, 13h45
  5. Réponses: 6
    Dernier message: 03/09/2003, 10h29

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