Rechercher : dans
Par :

Parse error, expecting `T_OLD_FUNCTION' or `T

Dernière réponse le 5 avr 2007 à 13:47:17 gnoute, le 21 oct 2006 à 14:32:21 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « parse error, expecting `T_OLD_FUNCTION' or `T » dans :
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';' VoirCette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple :
Parse error: syntax error, unexpected $end VoirLorsque l'on programme en Php, on se retrouve inévitablement un jour devant ce genre d'erreur: Parse error: syntax error, unexpected $end in Command line code on line 1 En français, ça signifie grossièrement: "Erreur d'analyse du code: il y a une...
PHP Parse error: unexpected '<' in ... eval()'d code on line VoirSymptômes Lors de l'utilisation de la fonction eval() en PHP, ce dernier se plaint et vous affiche un message de la forme suivante : PHP Parse error: syntax error, unexpected '

1

Ssylvainsab, le 21 oct 2006 à 15:03:31
  • +1

Tu as mis un else de trop.
Le dernier n'a rien a faire ici car il n'y a pas de conditions avant. Sylvain

Répondre à Ssylvainsab

2

gnoute, le 21 oct 2006 à 15:04:52
  • +1

Je doit donc supprimer le mot else ?

Répondre à gnoute

3

gnoute, le 21 oct 2006 à 15:10:04

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

Répondre à gnoute

4

Ssylvainsab, le 21 oct 2006 à 15:14:20

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 Sylvain

Répondre à Ssylvainsab

5

gnoute, le 21 oct 2006 à 15:41:05

Bah en fait, c'est une contrib pour oscommerce. je l'ai donc pris tel quel et je l'ai édité avec notepad++

Répondre à gnoute

6

Ssylvainsab, le 21 oct 2006 à 15:49:07

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. Sylvain

Répondre à Ssylvainsab

7

 aurelien, le 5 avr 2007 à 13:47:17
  • +2

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.

Répondre à aurelien