Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forum osCommerce-fr _ Fonctionnement _ Erreur de syntaxecatalog\admin\includes\classes\sessions.php

Écrit par : roiphoto 24 Dec 2016, 09:58

Erreur de syntaxecatalog\admin\includes\classes\sessions.php

Bonjour à toutes et à tous

Win 8 Professionnel N ; 32 bits
Oscommerce online Merchant v2.2 RC1
EasyPHP-12.1 FR
php 5.4.6 VC9
LOCAL
+ CAP 1.4.3 (Customer Add Product)

Avec dreamweaver, la barre d’info me signale Erreur de syntaxe à la ligne 33 de Catalog\admin\includes\classes\sessions.php ligne 33
Voici un extrait du fichier ci-dessus mentionné :
Ligne 16 $SID = '';
Ligne 18 class php3session {
Ligne 19 var $name = PHP_SESSION_NAME;
ligne 20 var $auto_start = false;
ligne 21 var $referer_check = false;
ligne 23 var $save_path = PHP_SESSION_SAVE_PATH;
ligne 24 var $save_handler = 'php3session_files';
ligne 26 var $lifetime = 0;
ligne 28 var $cache_limiter = 'nocache';
ligne 30 var $cache_expire = 180;
Ligne 31 var $use_cookies = true;
ligne 32 var $cookie_lifetime = 0;
ligne 33 var $cookie_path = substr(DIR_WS_ADMIN, 0, -1);
ligne 34 var $cookie_domain = '';

Apparemment je ne vois pas d’erreur de syntaxe

Que faire ? De l’aide s’il vous plaît

Autre chose : je ne sais pas comment introduire dans mon post une capture de mon écran même si elle est déjà disponible sur mon disque dur. Dois-je créer un autre post pour ça ? Je ne parle pas d’une citation d’une partie de la discussion en cours du forum, mais d’une insertion extérieure au forum comme le cas présent.

Je vous remercie

Écrit par : Bonbec 25 Dec 2016, 10:35

Bonjour,

A première vue rien d'anormal.
Si le fichier en question ne génère pas d'erreurs en fonctionnant, c'est sans doute une fausse alerte de Dreamweaver. Cela fait longtemps que j'ai laissé tomber ce logiciel "usine à gaz" au profit de Notepad++

Pour les images, il faut les héberger sur un site d'hébergement d'image et inclure l'url de l'image dans la partie dédiée aux pièces jointes lors de la saisie d'un message.

Écrit par : roiphoto 25 Dec 2016, 18:45

Bonjour,

je ne sais pas si c'est cette erreur de syntaxe dans la session qui me cause le bug suivant :

+ CAP 1.4.3 (Customer Add Product)

Toute la page s'affiche en code

J’ai installé Customer Add Products et Quand je clique sur le lien MY_ADD_PRODUCT , des codes de programmation s’affichent quand on passe en mode web

La page qui devrait etre affichée (catalog\account_add.php) fait appel à 5 require à savoir :
require('includes/application_top.php');
require(DIR_WS_FUNCTIONS.'product_manage.php');
require(DIR_WS_CLASSES.'product_manage.php');
require(DIR_WS_CLASSES . 'upload.php');
require(DIR_WS_LANGUAGES . $language . '/account_manage.php');

J’ai édité toutes les fichiers ci-dessus énumérées depuis le modèle zippé du CAP 1.4.3 installé et je me rends compte que dans catalog\includes\classes\produit_manage.php sur la ligne 1 c’est écrit <?

Croyant que c’est cela qui créait le problème, j’ai transformé <? en <?php et là, plus rien sur la page générée à part la couleur grisée

De plus, j’ai remarqué que le fichier catalog\account_add.php depuis le modèle zippé du CAP 1.4.3 il y a un mélange tantôt < ? et tantôt < ?php Est-ce la case de l’erreur, je ne sais pas ! J’ai tout changé en < ?php et pourtant rien !

J’ai tout effacé et j’ai recommencé l’installation plusieurs fois en local en faisant attention à tous les détails, mais rien n’y fit !

Que faire ? De l’aide s’il vous plaît


Écrit par : Bonbec 25 Dec 2016, 18:54

Déjà c'est un bon réflexe d'avoir modifié les <? en <?php

Si çà affiche un lien MY_ADD_PRODUCT, c'est qu'il manque le fichier de langage quelque part où il devrait y avoir un define('MY_ADD_PRODUCT', 'sa traduction ici');
Je reviendrais tout à l'heure pour le problème d'affichage du code.

Écrit par : Bonbec 26 Dec 2016, 10:02

Bonjour,

Citation
... des codes de programmation s’affichent quand on passe en mode web ...

C'est du code PHP ou du code HTML généré ?

Si c'est du PHP, c'est que l'interpréteur PHP du serveur local a des problèmes. Il suffit de quitter proprement les applications ouvertes, d'arrêter son ordinateur puis de le rallumer.
Si c'est du HTML, c'est que les caractères de la page sont mal encodés et certains navigateurs affichent le code HTML à la place du résultat.

Écrit par : roiphoto 26 Dec 2016, 18:40

Bonjour Bonbec et merci à vous pour la réponse
Cela fait plus d'une semaine que je redémarre, je d"sinstalle oscommerce et je recommence avec la plus grande attention, mais toujours rien

Voilà une capture d'écran de ce que cela donne

http://www.zimagez.com/zimage/captureerreuraccountadd.php

Merci

Écrit par : Bonbec 27 Dec 2016, 08:18

Bonjour,

On dirait le code du fichier catalog/includes/classes/boxes.php
Il faudrait vérifier que le fichier commence bien par un <?php

Écrit par : Havock 27 Dec 2016, 14:28

Citation (Bonbec @ 27 Dec 2016, 08:18) *
On dirait le code du fichier catalog/includes/classes/boxes.php
Il faudrait vérifier que le fichier commence bien par un <?php


@Bonbec

On dirait plutôt celui du fichier includes/classes/box.php de l'admin

Écrit par : Bonbec 28 Dec 2016, 15:10

Bonjour Havock,

Tu as raison, l'était pas bien réveillé le Bonbec wacko.gif

Écrit par : Havock 29 Dec 2016, 10:59

Citation (Bonbec @ 28 Dec 2016, 15:10) *
Tu as raison, l'était pas bien réveillé le Bonbec wacko.gif


Vu l'heure de ton post tu es pardonné biggrin.gif biggrin.gif biggrin.gif

Écrit par : roiphoto 29 Dec 2016, 11:58

Fatal error: Cannotredeclare class box in C:\Program Files\EasyPHP-12.1\www\catalog\includes\classes\product_manage.php on line 112

Merci Bonbec et Havock pour les aides que vous m’apportez.

J’ai remarqué dans certains fichiers ou extraits de fichier de la contribution qu’il y avait des fonctions obsolètes eregi que le navigateur n’avait pas signalées

Armé du post
https://github.com/osCommerce/oscommerce2/commit/784144ad78c6d358da6b76570def4f2c9f94b0b7 ,
j’ai retroussé les manches, sans panique et j’ai fait la fête à tous ces eregi. Du côté eregi, on en parle plus. Mais cela n’a pas résolu le problème.

J’ai fait les vérif de < ? sur la page concernée et il n’en était rien

Par contre c’est sur la page \catalog\includes\classes\product_manage.php que j’ai rencontré et corrigé en début de ligne < ? en< ?php et automatiquement le navigateur me montre en mode web

Fatal error: Cannotredeclare class box in C:\Program Files\EasyPHP-12.1\www\catalog\includes\classes\product_manage.php on line 112 et plus rien d’autres sur la page.

Personnellement je n’y comprends rien. SOS !

Vous trouvez ci-après la capture intégrale du fichier product_manage.php

http://zupimages.net/viewer.php?id=16/52/vza1.jpg
Je vous remercie

Écrit par : Bonbec 29 Dec 2016, 13:10

Bonjour roiphoto,

Citation
Fatal error: Cannot redeclare class box in C:\Program Files\EasyPHP-12.1\www\catalog\includes\classes\product_manage.php on line 112

Ce qui est important, c'est le RE de redeclare.

Cela veut dire que la "class box" est déclarée 2 fois, donc une fois de trop.
Deux possibilités :
1) la définition de la class box se trouve dans 2 fichiers qui sont appelés successivement
2) le fichier product_manage.php est appelé 2 fois de suite

Écrit par : roiphoto 30 Dec 2016, 20:28

Oui Bonbec, merci. C’est vous qui avez raison ! ! !

Effectivement il y avait 2 fichiers de noms identiques(account_manage.php) alors que les contenus sont différents selon qu’il se trouve en position includes/classes/account_manage.php
ou includes/fonctions/account_manage.php

De mon côté, je n’ai pas fait attention aux contenus avant de les positionner. Now, cette erreur est corrigée.
Oui ‘fatal error’ qui signalait le doublon est parti.

Par contre il me sort du nouveau comme quoi je n’ai pas suffisamment sué sur ce post ! ! !

Parseerror: syntaxerror, unexpected end of file in C:\Program Files\EasyPHP-12.1\www\catalog\account_manage.php on line 824.

Mais si à la ligne 809 je change < ? en< ?php j’obtiens l’écran grisée avec code comme sur mon post du 26 déc à 18h 40 mais pas de message spécifique

Avec votre permission, je vous envoie la copie intégrale de ce fichier catalog/account_manage.php

http://zupimages.net/viewer.php?id=16/52/og3o.jpg
http://zupimages.net/viewer.php?id=16/52/2udk.jpg
http://zupimages.net/viewer.php?id=16/52/tlp1.jpg

Je vous remercie

Ps : comment capter tout un long fichier comme celui-ci sans perdre des heures à faire des montages photos ? Merci

Écrit par : Bonbec 10 Jan 2017, 10:34

Bonjour,
J'ai essayé de regarder via les images, mais c'est quasi impossible à faire.
Pour insérer du code dans un message, c'est ce bouton

Écrit par : roiphoto 15 Mar 2017, 15:30

Bonjour
C'est une contribution qui fonctionne bien en php 4.3.10

Donc quand je l'adaptais au php5.4.6, il y ait encore un <? que j'avais oublié de corriger en <?php et par la suite beaucoup d'erreurs sont rentrées dans l'ordre

Merci

Écrit par : roiphoto 15 Mar 2017, 15:36

Citation (roiphoto @ 15 Mar 2017, 15:30) *
Bonjour
C'est une contribution qui fonctionne bien en php 4.3.10

Donc quand je l'adaptais au php5.4.6, il y ait encore un <? que j'avais oublié de corriger en <?php et par la suite beaucoup d'erreurs sont rentrées dans l'ordre

Merci


oui beaucoup de choses ont évolué et il reste et il demeure le plus important en php5.4.6 : après l'ajout du produit par le customer le bouton previsualisation envoie direct à la page index sans aucun message, sinon au final c'est une très bonne contri
alors qu'en php 4.3.10 normal

Merci

Écrit par : roiphoto 8 Jul 2017, 12:50

Bonjour,
J'ai repris le même projet avec oscommerce 2.2.RC1 FR en changeant d'easyphp.
J'ai opté pour esyphp 1.8 avec php 4.3.10 et les problèmes (j'ai réussi à maîtriser les warnings) sont résolus, ce qui me pousse vers un hébergement VPS.

L'idéal aurait été de continuer ce projet avec un php et oscomm beaucoup plus récent, mais je n'y suis pas parvenu.
Merci

Écrit par : Rusti 8 Jul 2017, 14:53

Bonjour roiphoto,

Choisir la 2.2.RC1 et php 4.3 est à mon avis un très mauvais choix ou grosse erreur tu choisi wink.gif
Je te conseil la dernière version ou au moins la 2.3.1 car tu pourra installer php 5.6 dessus.
il y aura quelque modif à faire pour la rendre compatible avec php 5.6 mais vraiment rien d'insurmontable les modifications à faire sont plutôt simple.
Le gain que tu gagneras que ce soit en thermes de performance, sécurité et mise à jour du code (si je peut le dire comme ça) sera vraiment très important

Lorsque tu veux passer sous php 5.6 ou 5.4 et qu'une erreur se produit sans te montrer de message, pense aux modifications et alertes précédentes que tu as corrigées.
Bien souvent cela se produit lors de l'envoi ou réception d'un formulaire, du coup quand la redirection se fait il n'y à pas de message d'erreur. Cherche les classes et fonctions utilisées,
et regarde si il n'y à pas de fonction php DEPRECIE tu pourra les trouver facilement vu que tu l'auras déjà fait pour d'autres pages ou fichier
C'est souvent les mêmes fonctions type ereg() par exemple et pour ce qui est des session regarde les session_is_registered(); session_unregister(); session_register();
En regardant le lien ci-dessous tu trouveras en grande majorité ce qui pose problème avec php :

http://php.net/manual/en/migration53.deprecated.php

Bon code

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)