Php erreur de syntaxe [Résolu/Fermé]

Signaler
Messages postés
8
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
25 mai 2012
-
 Utilisateur anonyme -
Salut à tous, je sais que le problème a été posé maintes et maintes fois, mais cela fait plusieurs jour que j'écume le web sans trouver de réponse à ma question. En effet, lorsque je vais sur le lien de mon site, il m'est affiché:

Parse error: syntax error, unexpected T_STRING, expecting '{' in /homez.309/netespac/www/travian/public_html/install/templates/script.tpl on line 23

je sais que l'erreur vient d'une accolade, mais je ne sais pas laquelle, voici une partie de mon script, l'endroit ou ça coince:


</style>

<?php
class IHG_Progressbar

protected $bar_id;

protected $max_ticks;

protected $ticks;

protected $label;

public function __construct($max_ticks, $label = '%d van %d')
$this->bar_id = uniqid('progressbar');
$this->label = $label;


En espérant que vous m'aiderez, Brother ! =D

12 réponses


Je m'attendais à cette ligne. En effet, la version 4 de PHP ne connaît pas 'protected'.
Il faut que tu passes en version 5.
(Théoriquement, tu pourrais adapter ton script, mais c'est probablement beaucoup trop compliqué)

Si tu as ce problème en local, il faut que tu remettes à jour ton Wamp ou autre easyphp.
Si ton script est en ligne, ton hébergeur t'offre presque certainement le PHP5, mais il y a souvent une petite manip à faire pour en bénéficier (ligne dans fichier .htaccess)
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 73868 internautes nous ont dit merci ce mois-ci

Messages postés
120
Date d'inscription
mercredi 17 août 2011
Statut
Membre
Dernière intervention
12 février 2013
13
Bonsoir,

Je pense qu'il faut ouvrir une accolade après
public function __construct($max_ticks, $label = '%d van %d') 


et la fermer à la fin de la fonction.
Messages postés
8
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
25 mai 2012

ne marche pas, il me précise une accolade dans ce sens '{'

=(

Bonjour

Il te manque aussi une accolade { après class IHG_Progressbar

Arrête d'"écumer le web" et lis un peu le manuel PHP car ce sont là les règles les plus basiques du langage.
Messages postés
8
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
25 mai 2012

merci pour ton aide, je vais voir de suite ce manuel =D
Messages postés
8
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
25 mai 2012

après avoir fait ce que tu m'as dit, cette erreur s'affiche:

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /homez.309/netespac/www/travian/public_html/install/templates/script.tpl on line 23

Aussi je suis tout ouïe si tu as d'autres sites de ce genre sur le php =D
Et voici ma ligne de code:

/style>

<?php
class IHG_Progressbar {

protected $bar_id;

protected $max_ticks;

protected $ticks;

protected $label;

public function __construct($max_ticks, $label = '%d van %d') {
$this->bar_id = uniqid('progressbar');
$this->label = $label;

Laquelle est la ligne 23 ?

Ta définition de classe est en PHP 5, mais j'ai l'impression que tu utilises PHP 4.

Pour ce qui est des sites "de ce genre" (quel genre ?) les gens semblent apprécier le site du zéro. Personnellement, j'ai téléchargé la doc PHP et appris dedans.
Messages postés
8
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
25 mai 2012

J'essayerais donc de suivre ces deux tutos, merci à toi =D
Ma ligne 23 est celle ci:


protected $bar_id;
Messages postés
8
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
25 mai 2012

merci pour ta réponse, mais pense tu que cela marcheras une fois que je serais passé en php5 ?

Comment le savoir ? Nous n'avons que quelques lignes. Disons que si tu as bien remis les { là où on te l'a dit, il n'y aura pas de problème à ce niveau là.
Messages postés
8
Date d'inscription
jeudi 24 mai 2012
Statut
Membre
Dernière intervention
25 mai 2012

donc aprés être passé en php5, un message d'erreur différent apparait, et la, je n'ai aucune idée de la provenance du problème:


draw(); for($i = 0; $i < ($_GET['s']+1); $i++) { $bar->tick(); } ?>
TravianX Installation Script

ERROR!
It's not possible to write the config file. Change the permission to '777'. After that, refresh this page!"; } else switch($_GET['s']){ case 0: include("templates/greet.tpl"); break; case 1: include("templates/config.tpl"); break; case 2: include("templates/dataform.tpl"); break; case 3: include("templates/field.tpl"); break; case 4: include("templates/multihunter.tpl"); break; case 5: include("templates/oasis.tpl"); break; case 6: include("templates/end.tpl"); break; } ?>

© 2010 - 2011 TravianX All rights reserved
Server running on: v6.0.0

Ça t'affiche tout ce PHP après ton message d'erreur ? Il est drôlement fichu, ton script.

L'origine du problème est décrite dans le message. Quand on a un pseudo comme le tien, on a bien quelques notions d'anglais, non?
Et si tu n'as aucune idée de ce que sont ces permissions, il s'agit encore de notions fondamentales. Tu ne peux pas continuer à essayer de faire un truc compliqué avant d'avoir appris les bases.