Logo du forum
 

Forum TT-Hardware

| Inscription | | Recherche | | FAQ | | Accueil | | Liste des membres |
| Calendrier |
 
Vous n'êtes pas identifié! [Connexion] ou [Inscription] Forum » Programmation » [PHP] » Erreur PHP ... (newbie)
Login Mot de passe

1 visiteurs sur ce topic (0 membre(s), 1 invité(s) )


Auteur
Sujet : Erreur PHP ... (newbie)
zorgh
Master
Membre # 7668

 Avatar du membre
Lieu : FRANCE

Messages :
815 (0.39 par jour)


Score :

Message du 21-06-2006 @ 20:19      Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   


J'ai récupéré une application PHP/Mysql qui tourne bien à priori sous PHP3.

Je rencontre une erreur :

Code :


Fatal error: Cannot redeclare echosessionvalue() (previously declared in /var/www/htdocs/clar/include/debugClar.lib.inc.php:36) in
/var/www/htdocs/clar/include/debugClar.lib.inc.php on line 34



Le contenu du fichier est le suivant :

ligne 34 : function echoSessionValue()
ligne 35 : {
ligne 36 : GLOBAL $statuts,$statut,$status,
$HTTP_GET_VARS,


Une idée serait la bienvenue car là je sèche complètement.

Merci
----------
Toshiba M30X-125 Intel Centrino PM 1,7 Ghz - 1 Go DDR - DD 60 Go - 15,4"W TFT - Ati Radeon 9700
- Haut de page -
Soulmanto
Codeur du forum
Membre # 5373

 Avatar du membre
Lieu : Lille

Messages :
12837 (5.73 par jour)


Score :

Message du 22-06-2006 @ 9:07   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Ca c'est une erreur due à une redéfinition de fonction, ce qui est souvent causé par plusieurs inclusions du même fichier de fonctions. Pour éviter ce genre de problème avec les inclusions de fichiers de fonctions, utilise "include_once" plutôt que "include":

Code :


   <?php
   
      include_once('ma_librairie.php');
      
   ?>



[message édité le 22-06-2006 @ 9:08 Par Soulmanto]
----------
Core 2 Duo E6750 2,66 GHz | Asrock Conroe 1333 D667 | 2 Go DDR-II 667 | GeForce 8800 GT 512 Mo | Acer X192W (qui marche bien, sisi spook' :p )
Dell Inspiron 6400 | Core2Duo T5500 | 1 Go DDR-II | ATI X1300 128 Mo

Enfin!! 300 au bowling sur Wii Sports :classe:
- Haut de page -
zorgh
Master
Membre # 7668

 Avatar du membre
Lieu : FRANCE

Messages :
815 (0.39 par jour)


Score :

Message du 22-06-2006 @ 9:27   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

On m'a conseillé require_once, quelle différence ?

J'ai une autre question : le code source fonctionne correctement avec la variable register_globals positionné à On.
Pour une question de sécurité, si je souhaite positionner la variable sur Off, quelles sont les points à modifier sur le code source.
La liste est-elle importante ou quelques modifications suffisent ?

Merci
----------
Toshiba M30X-125 Intel Centrino PM 1,7 Ghz - 1 Go DDR - DD 60 Go - 15,4"W TFT - Ati Radeon 9700
- Haut de page -
Soulmanto
Codeur du forum
Membre # 5373

 Avatar du membre
Lieu : Lille

Messages :
12837 (5.73 par jour)


Score :

Message du 22-06-2006 @ 10:05   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

La différence entre require et include, c'est que le script s'interrompt en cas d'absence du fichier à inclure si on utilise require, tandis que include renvoie uniquement un warning. A toi de voir ce que tu préfères! ;)

Pour ce qui est du code à changer pour le register globals à ON, c'est surtout pour tout ce qui concerne les variables globales. ($_GET, $_POST, $_SESSION, $SERVER, $_COOKIES, $_FILES ...)
Si tu n'as pas codé ton script en utilisant ça dès le début, je crains que tu ne doives en réécrire une bonne partie! :sic:
----------
Core 2 Duo E6750 2,66 GHz | Asrock Conroe 1333 D667 | 2 Go DDR-II 667 | GeForce 8800 GT 512 Mo | Acer X192W (qui marche bien, sisi spook' :p )
Dell Inspiron 6400 | Core2Duo T5500 | 1 Go DDR-II | ATI X1300 128 Mo

Enfin!! 300 au bowling sur Wii Sports :classe:
- Haut de page -
zorgh
Master
Membre # 7668

 Avatar du membre
Lieu : FRANCE

Messages :
815 (0.39 par jour)


Score :

Message du 22-06-2006 @ 15:48   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Merci pour ce complément d'info.
Pour un renouveau du code, cela va être chaud. Il s'agit d'une ancienne version de claroline et les lignes sont nombreuses.

En attendant, j'ai utilisé php_admin_value register_globals on dans mon fichier de conf d'apache.

J'ai noté ces deux liens :
http://fr2.php.net/register_globals
http://fr2.php.net/manual/fr/language.variables.external.php

[message édité le 22-06-2006 @ 15:48 Par zorgh]
----------
Toshiba M30X-125 Intel Centrino PM 1,7 Ghz - 1 Go DDR - DD 60 Go - 15,4"W TFT - Ati Radeon 9700
- Haut de page -
Soulmanto
Codeur du forum
Membre # 5373

 Avatar du membre
Lieu : Lille

Messages :
12837 (5.73 par jour)


Score :

Message du 22-06-2006 @ 16:03   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Pour le register globals, je crains que tu ne sois obligé d'y passer... La plupart des hébergeurs fonctionne en register globals à OFF (beaucoup plus sécurisé), du moins pour l'hébergement mutualisé. Mais c'est quasi suicidaire d'utiliser un site en prod avec RG à ON! :eek:
----------
Core 2 Duo E6750 2,66 GHz | Asrock Conroe 1333 D667 | 2 Go DDR-II 667 | GeForce 8800 GT 512 Mo | Acer X192W (qui marche bien, sisi spook' :p )
Dell Inspiron 6400 | Core2Duo T5500 | 1 Go DDR-II | ATI X1300 128 Mo

Enfin!! 300 au bowling sur Wii Sports :classe:
- Haut de page -
zorgh
Master
Membre # 7668

 Avatar du membre
Lieu : FRANCE

Messages :
815 (0.39 par jour)


Score :

Message du 22-06-2006 @ 16:16   Site personnel   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Actuellement, le site web est hébergé sur un serveur dédié à mon domicile. Je peux à souhait paramétrer le serveur web (http, php, mysql).
Il est vrai qu'il faut que je passe register_globals à Off or le php n'est pas encore ma tasse de "Thé". Toute aide est la bienvenue.
Pour le moment, je travaille sur le réseau local.
----------
Toshiba M30X-125 Intel Centrino PM 1,7 Ghz - 1 Go DDR - DD 60 Go - 15,4"W TFT - Ati Radeon 9700
- Haut de page -


Aller dans le forum :  

Plan du forum | Contacter l'administrateur

Powered by SoulBB 3.0.1
© Soulmanto, 2003-2006

Valid XHTML 1.0 Transitional

Page générée en 0.092 secondes