VIVEZ LE
FOOTBALL !

Posez votre question Signaler

Parse error, expecting `T_OLD_FUNCTION' or `T [Résolu]

gnoute 80Messages postés 30 avril 2003Date d'inscription - Dernière réponse le 11 avril 2012 à 12:49
Bonjour,
Je fait un site oscommerce et j'ai une erreur que j'arrive pas à résoudre :
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in c:\program files\easyphp1-8\www\catalog\admin\includes\classes\box.php on line 75
voilà le code :
<?php
/*
$Id: box.php,v 1.7 2003/06/20 16:23:08 hpdl Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
Example usage:
$heading = array();
$heading[] = array('params' => 'class="menuBoxHeading"',
'text' => BOX_HEADING_TOOLS,
'link' => tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('selected_box')) . 'selected_box=tools'));
$contents = array();
$contents[] = array('text' => SOME_TEXT);
$box = new box;
echo $box->infoBox($heading, $contents);
*/
class box extends tableBlock {
function box() {
$this->heading = array();
$this->contents = array();
}
function infoBox($heading, $contents) {
$this->table_row_parameters = 'class="infoBoxHeading"';
$this->table_data_parameters = 'class="infoBoxHeading"';
$this->heading = $this->tableBlock($heading);
$this->table_row_parameters = '';
$this->table_data_parameters = 'class="infoBoxContent"';
$this->contents = $this->tableBlock($contents);
return $this->heading . $this->contents;
}
function menuBox($heading, $contents) {
global $menu_dhtml; // add for dhtml_menu
if ($menu_dhtml == false ) { // add for dhtml_menu
$this->table_data_parameters = 'class="menuBoxHeading"';
if (isset($heading[0]['link'])) {
$this->table_data_parameters .= ' onmouseover="this.style.cursor=\'hand\'" onclick="document.location.href=\'' . $heading[0]['link'] . '\'"';
$heading[0]['text'] = ' <a href="' . $heading[0]['link'] . '" class="menuBoxHeadingLink">' . $heading[0]['text'] . '</a> ';
} else {
$heading[0]['text'] = ' ' . $heading[0]['text'] . ' ';
}
$this->heading = $this->tableBlock($heading);
$this->table_data_parameters = 'class="menuBoxContent"';
$this->contents = $this->tableBlock($contents);
return $this->heading . $this->contents;
} else {
// Replaced this to make sure that the correct id is passed to the menu
$url = parse_url($heading[0]['link']);
$params = explode("&", $url["query"]);
foreach($params AS $param) {
list($key, $value) = explode("=", $param);
if ($key == "selected_box")
$selected = $value;
}
// Eof replacement
$dhtml_contents = $contents[0]['text'];
$change_style = array ('<br>'=>' ','<BR>'=>' ', 'a href='=> 'a class="menuItem" href=','class="menuBoxContentLink"'=>' ');
$dhtml_contents = strtr($dhtml_contents,$change_style);
$dhtml_contents = '<div id="'.$selected.'Menu" class="menu" onmouseover="menuMouseover(event)">'. $dhtml_contents . '</div>';
return $dhtml_contents;
}
}
?>
quelqu'un aurait une idée ?
merci
Lire la suite 

Parse error, expecting `T_OLD_FUNCTION' or `T »

8 réponses
Réponse
+5
moins plus
Tu as mis un else de trop.
Le dernier n'a rien a faire ici car il n'y a pas de conditions avant.
Ajouter un commentaire
Réponse
+2
moins plus
Super :-)

Quelques conseils pour téviter ca :
-indente mieux ton code
-commente le un peu plus

Mais sinon, avec quel éditeur tu fais ce code ?
Avec le bloc notes ?

a plus
Ajouter un commentaire
Réponse
+2
moins plus
Un petit conseil : evite de mélanger php et HTML comme tu l'a fait. Je ve dire, evite de renvoyer carrément des String rempli de HTML.
L'idéal c'est que ta page HTML s'adapte en fonction des résultats de tes fonctions et conditions de vérifications, et pas que tes fonctions php te renvoie de l'HTML barbare, c'est sale comme code.

C'est juste un conseil, et c'est vachement moins chiant à lire.
Ajouter un commentaire
Réponse
+1
moins plus
je doit donc supprimer le mot else ?
Ajouter un commentaire
Réponse
+1
moins plus
merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

enfin quelqu'un m'a répondu et ça marche !!!!!!!!!!!!!

ça fait 4h que je me prenais la tête avec

merci merci merci merci
Ajouter un commentaire
Réponse
+0
moins plus
bah en fait, c'est une contrib pour oscommerce. je l'ai donc pris tel quel et je l'ai édité avec notepad++
Ajouter un commentaire
Réponse
+0
moins plus
Ah ?
Et il n'a pas des fonctions "bien pratiques" ?

Moi, j'utilies PSPad, ce que je trouve bien c'est que lorsque le curseur est a coté d'un délimiteur (parenthèses, accolade, crochet), il surligne automatiquement le délimiteur qui va avec.

C'est pratique pour voir si on n'en a pas oublié ou mis en trop.
Ajouter un commentaire
Réponse
+0
moins plus
Problème de version de php supportée par le serveur.
Mettre en php5 sur le serveur

pour ovh: http://guide.ovh.com/printPage/php5chezovh
pour 1&1: http://blog.fgribreau.com/2008/04/activer-php5-sur-1and1.html
Ajouter un commentaire
Ce document intitulé « parse error, expecting `T_OLD_FUNCTION' or `T » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?