francoisch Posté 27 Mars 2009 Posté 27 Mars 2009 Bonjour Je déclare la variable $lib_spe1 dans un fichier séparé nommé libellesen.php : $lib_spe1 = $domaine." ".$famille; avec les deux variables $domaine et $famille initialisées (vérifié). Quand je cherche à lutiliser : include ("libellesen.php");echo "lib_spe1: ".$lib_spe1."<br>"; la variable $lib_spe1 nest pas initialisée. Quand je vérifie avec : $lib_spe1 = $domaine."<br>".$famille;echo "lib_spe1: ".$lib_spe1."<br>"; la variable $lib_spe1 est initialisée. Question : comment la variable $lib_spe1 peut-elle ne pas être initialisée quand elle est définie dans le fichier séparé ? Par avance merci de votre aide. Francois
Jeanluc Posté 27 Mars 2009 Posté 27 Mars 2009 Une piste parmi 100 autres possibles: j'essaierais en remplaçant include par require pour vérifier que le fichier à inclure est bien trouvé. Jean-Luc
libelinfo Posté 27 Mars 2009 Posté 27 Mars 2009 est-ce que par hasard la variable ne serait pas est redécalrée dans le fichier qui fait appel à libellesen.php ?
francoisch Posté 28 Mars 2009 Auteur Posté 28 Mars 2009 bonjour et merci de vos réponses. J'ai d'autres variables déclarées dans ce fichier externe; je vérifie qu'il est bien appellé en imprimant ussi la valeur d'une de ces variables. Mais ce sont des variables simples, pas des variables composées comme celle qui est en erreur. Non, la variable n'est pas redéclarée dans le fichier utilisateur. Le mystère reste donc entier, il faut continuer à chercher. Francois
libelinfo Posté 28 Mars 2009 Posté 28 Mars 2009 autre possibilité, la variable est-elle déclarée dans une fonction ?
francoisch Posté 28 Mars 2009 Auteur Posté 28 Mars 2009 Non, la page extérieure comporte plusieurs dizaines de variables qui sont toutes correctement initialisées et utilisées, sauf celle dont je parle, mais pas dans une fonction. Oui, j'ai pensé à un problème de déclaration globale / non globale mais il n'y a rien de tout ça dans mon code. Je ne vois pas pourquoi / comment le fait d'être une variable composée de deux variables changerait qqechose. Je vais faire l'essai de mettre cette variable en variable de session, pour voir. Francois
libelinfo Posté 28 Mars 2009 Posté 28 Mars 2009 dans ce cas le souci pourrait plutôt venir de $domaine et $famille qui elles ne sont peut peut être pas initialisées comme il le faudrait ?
francoisch Posté 29 Mars 2009 Auteur Posté 29 Mars 2009 bonjour Voici le résultat d'un petit montage comparatif: *** Pour vérifpour vérif, domaine: webpour vérif, famille: Martinot*** Variable initialisée dans le fichier externelib_spe1: *** Variable initialisée dans le fichierlib_spe1: Martinot's web Rappel de la constitution de la variable composée: $lib_spe1 = $famille."'s ".$domaine; autant dans le fichier lui-même, dans ce test, que dans le fichier externe. Constatations: - les deux variables de base sont bien initialisées - la variable composée n'est pas initialisée quand elle est constituée dans le fichier externe Je cherche toujours à comprendre; merci de votre aide. Francois
Jeanluc Posté 29 Mars 2009 Posté 29 Mars 2009 Place plusieurs points de test intermédiaires après le $lib_spe1 = $domaine." ".$famille; et avant le(s) point(s) de sortie du fichier inclus. Par point de test, je veux dire des echo "lib_spe1: ".$lib_spe1." "; Avec un peu de chance, cela te permettra de localiser le problème de manière plus précise. Jean-Luc
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant