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 :

[Système] Parse error: unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 24
    Points : 17
    Points
    17
    Par défaut [Système] Parse error: unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION
    Bonjour

    Je me suis mise en développement web avec PHP 5. J'en suis aux classes et objets dont le concept me paraît très simple et très pratique. Mais lors de mes tests, rien ne fonctionne.

    Précisions : je travaille à partir du serveur de mon hébergeur qui a la version 5.0.1 de PHP.

    J'ai testé ce bout de code (bien nettoyé pour que vous vous y retrouviez plus facilement) qui est très simple mais à l'exécution, le browser m'affiche toujours ce message d'erreur :

    MESSAGE D'ERREUR
    Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/...fichier.php on line 5

    CODE 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
     <?php
    class Page
    {
      // attribut de la classe Page
      public $title = 'test';
     
      // opérations de la classe Page
      public function __set($name, $value)
      {
        $this->$name = $value;
      }
     
      public function Display()
      {
        $this -> DisplayTitle();
      }
     
      public function DisplayTitle()
      {
        echo '<title> '.$this->title.' </title>';
      }
    }
     
      $homepage = new Page();
      $homepage->Display();
     
    ?>
    Qu'est ce qui cloche ???
    Moi je ne vois rien strictement rien. J'ai essayé avec différents codes aussi simples les uns que les autres et toujours le même message !!

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 40
    Points
    40
    Par défaut
    Bonjour,


    On est deux maintenant
    Tu as le même problème que moi???
    Je suis en train de faire des exemples depuis tout à l'heure mais en vain...
    Gardons espoir.....

  3. #3
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut


    essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public var $title = 'test';

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 40
    Points
    40
    Par défaut
    J'ai repris ton code mot pour mot et j'ai rajouté la modification suggérée mais rien y fait moi aussi de mon coté.

    PS:J'ai la version 5.1.4 de PHP

  5. #5
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    juste comme ça... teste ceci :
    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 Page
    {
    // attribut de la classe Page
    public $title;
     
    public function __construct($title_ = 'test') { $this->title = $title_; }
     
    // opérations de la classe Page
    public function __set($name, $value)
    {
    $this->$name = $value;
    }
     
    public function Display()
    {
    $this -> DisplayTitle();
    }
     
    public function DisplayTitle()
    {
    echo '<title> '.$this->title.' </title>';
    }
    }
     
    $homepage = new Page();
    $homepage->Display();
     
    ?>

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2006
    Messages : 188
    Points : 151
    Points
    151
    Par défaut
    la syntaxe de phpOO en a pas changé depuis php 5 pr plus ressemble a la syntaxe C++?? je ne suis pa du tout sur de ce que je raconte (j'en suis encore au 4) mais j'ai cru lire ca quelque par

    Bonne chance !

  7. #7
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Citation Envoyé par highman
    la syntaxe de phpOO en a pas changé depuis php 5 pr plus ressemble a la syntaxe C++?? je ne suis pa du tout sur de ce que je raconte (j'en suis encore au 4) mais j'ai cru lire ca quelque par

    Bonne chance !
    oui mais même en s'inspirant de la doc, l'erreur est incompréhensible...

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 40
    Points
    40
    Par défaut
    En ce qui me concerne, rien y fait même avec ta nouvelle modification Swoog.
    J'ai cette erreur ci au niveau du navigateur:


    Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in C:\PROGRA~1\EASYPH~1\www\test\PAGECL~1.PHP on line 3

    C'est une erreur à la ligne 3 à l'entrée de la définition de la classe Page.
    C'est mystérieux!!!!!

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 24
    Points : 17
    Points
    17
    Par défaut
    Bonsoir Fleur de rose

    Oui j'ai vu ton post, nous avons le même problème !!

    J'ai essayé vos différentes suggestions et tout comme Fleur de rose, rien n'y fait...

    Bon là faut que je me sauve mais je reviens ce soir... je réessaierai autre chose...

    Tenez-nous au courant et je vous tiens au courant
    On y arrivera Fleur de rose

  10. #10
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    Ce type d'erreur vient de l'utilisation de php 4, vérifie donc via phpinfo(). Sinon essaie ce code:
    <?php
    class Page
    {
    // attribut de la classe Page
    &#160;&#160;&#160;&#160;&#160;&#160;
    var $title;

    &#160;&#160;&#160;&#160;&#160;&#160;function
    __construct($title_ = 'test') { $this->title = $title_; }

    // opérations de la classe Page
    &#160;&#160;&#160;&#160;&#160;&#160;
    function __set($name, $value)
    &#160;&#160;&#160;&#160;&#160;&#160;{
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
    $this->$name = $value;
    &#160;&#160;&#160;&#160;&#160;&#160;}

    &#160;&#160;&#160;&#160;&#160;&#160;function
    Display()
    &#160;&#160;&#160;&#160;&#160;&#160;{
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
    $this -> DisplayTitle();
    &#160;&#160;&#160;&#160;&#160;&#160;}

    &#160;&#160;&#160;&#160;&#160;&#160;function
    DisplayTitle()
    &#160;&#160;&#160;&#160;&#160;&#160;{
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo
    '<title> '.$this->title.' </title>';
    &#160;&#160;&#160;&#160;&#160;&#160;}
    }

    $homepage = new Page();
    $homepage->Display();

    ?>
    Colorez votre code PHP sur les forums grâce à Developpez.com

  11. #11
    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
    Salut, comme l'a dit Yobs, cette erreur vient du fait que tu utilises la syntaxe PHP5 pour ta classe alors que visiblement, ton serveur est configuré avec PHP4.

    Si tu es sûr que ton hébergeur propose PHP5, il faut peut-être changer l'extension du fichier contenant ton script PHP. Par exemple, pour Free, si ton fichier est index.php, ton script tournera avec PHP4 ; par contre, si le nom est index.php5, alors il tournera sous PHP5.

  12. #12
    Membre habitué
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mai 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 99
    Points : 147
    Points
    147
    Par défaut
    Ton erreur vers sur la facon dont tu as fait appel a la method DisplayTitle :
    ERREUR (les espaces avant et apres ->):
    $this -> DisplayTitle();
    BON :
    $this->DisplayTitle();
    <?php
    class Page {
    // .....
    function Display()
    {
    $this -> DisplayTitle();
    }
    // .....

    }


    ?>
    Colorez votre code PHP sur les forums grâce à Developpez.com

  13. #13
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Citation Envoyé par nicolas.bui
    Ton erreur vers sur la facon dont tu as fait appel a la method DisplayTitle :
    ERREUR (les espaces avant et apres ->):
    $this -> DisplayTitle();
    BON :
    $this->DisplayTitle();
    chuis plutôt sceptique sur ce point là...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $a = 'a'.'b';
    $a = 'a'. 'b';
    $a = 'a' .'b';
    $a = 'a' . 'b';
    $c = 1+2;
    $c = 1+ 2;
    $c = 1 +2;
    $c = 1 + 2;
    tout ceci fonctionne parfaitement, pourquoi serait-ce différent pour -> ?

  14. #14
    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
    Salut, concernant les espaces, je ne suis pas convaincu ; j'ai testé le code de FlicEnFlac (copier/coller) avec PHP4 et PHP5, résultat : avec PHP4 il y a l'erreur qu'elle indique alors qu'avec PHP5 aucun problème.

  15. #15
    Membre habitué
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Mai 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 99
    Points : 147
    Points
    147
    Par défaut
    Autant pour moi ... Je viens de tester .. je pensais que PHP serais plus strict sur ca

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 24
    Points : 17
    Points
    17
    Par défaut Me revoilou

    Nesmontou
    Oui mon hébergeur a la version 5.0.1
    et j'ai donné l'extension php5, rien n'y fait : j'ai cette erreur-là :

    Parse error: parse error, unexpected T_CLASS in /home/httpd/vhosts/...fichier.php on line 2

    nicolas.bui
    Ca n'a rien à voir avec les espaces , l'erreur est toujours la même

    Nesmontou
    "Salut, concernant les espaces, je ne suis pas convaincu ; j'ai testé le code de FlicEnFlac (copier/coller) avec PHP4 et PHP5, résultat : avec PHP4 il y a l'erreur qu'elle indique alors qu'avec PHP5 aucun problème."

    Mais pourquoi ça marche chez toi et pas chez moi ??

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 24
    Points : 17
    Points
    17
    Par défaut
    Rebonsoir

    Voilà j'ai réessayé avec d'autres codes dont celui-ci qui est très simple mais j'obtiens toujours la même erreur...

    Je travaille avec Dreamweaver MX 2004 mais je doute que ça a rapport avec l'environnement de développement

    Pffffffffff je bloque et je n''y comprends absolument rien

    Mais si cela marche chez Nesmontou, et que l'hébergeur est bien sous php 5.0.1... il reste quoi ? le navigateur (100% Mozilla ) ? ou du fichier de config de PHP ? l'environnement de développement (Dreamweaver MX 2004 ?

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 24
    Points : 17
    Points
    17
    Par défaut
    j'ai oublié le code que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    class testequoi
    {
        function __construct($param)
        {
            echo = "coucou $param";
        }
     
    }
    $a = new testequoi("flic en flac");
    ?>

  19. #19
    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
    Salut, il y a une erreur dans le code que tu viens de donner. Tu as écrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo = "coucou $param";
    alors qu'il faut mettre (il y a le = en trop).

    Sinon, je viens de tester ça (ton script corrigé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    class testequoi
    {
        function __construct($param)
        {
            echo "coucou $param";
        }
     
    }
    $a = new testequoi("flic en flac");
    ?>
    Ca marche nickel

    Pour ta nouvelle erreur (Parse error: parse error, unexpected T_CLASS in /home/httpd/vhosts/...fichier.php on line 2), tu pourrais montrer le code que tu as utilisé ?

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    je viens de tester ce code. Sur ma machine, j'ai installé Wamp5 (PHP5)
    Je ne comprends pas mais j'ai toujours le message d'erreur.
    Au fait j'utilise PHPEdit pour éditer et eécuter les scripts PHP.

    Est ce que ce logiciel est fiable???


+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/09/2013, 10h41
  2. Réponses: 4
    Dernier message: 19/04/2013, 11h38
  3. Réponses: 1
    Dernier message: 04/04/2010, 23h19
  4. Réponses: 5
    Dernier message: 05/04/2009, 00h07
  5. Réponses: 3
    Dernier message: 27/12/2008, 11h17

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