Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3009 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Include/Require en cascade et acces aux variables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Include/Require en cascade et acces aux variables

n°1227422
folkN2
Posté le 20-10-2005 à 19:50:03  profilanswer
 

Bonsoir,
 
j'ai un petit soucis qui doit etre "classique" ...
 
j'essaye de structuré un peu mes fichiers de conf/lib .. mais lorsque j'essayer d'acceder a certaines variables definie dans ces includes il me dit qu'elles ne sont pas declarées...
 
J'ai donc :
/index.php  

Code :
  1. <?
  2. require('inc/conf.inc.php');
  3. $db = db_open();
  4. ?>


 
/inc/conf.inc.php

Code :
  1. <?
  2. $sql_host = ..;
  3. $sql_pass = ..;
  4. require('lib/sql.lib.php');
  5. ?>


 
/inc/lib/sql.lib.php

Code :
  1. <?
  2. function db_open()
  3. {
  4. $db = mysql_connect( $sql_host, $sql_user, $sql_pass) ; //initialisation de la connection
  5. if (! $db)
  6. { die("connexion Serveur SQL Impossible !" ); }
  7. else
  8. {
  9.  mysql_select_db( $sql_database,$db); //sélection de la base de données
  10. }
  11. return $db;
  12. }
  13. ?>


 
lorsque j'execute l'index.php il me dit ne pas connaitre $sql_host etc...
 
je dois passer a coté d'un principe du php sur les varibles et les includes... :/
si quelqu'un pouvait m'eclairer .. ca m'aiderais vraiment !
 
merci d'avance
folk


Message édité par folkN2 le 20-10-2005 à 19:50:57
mood
Publicité
Posté le 20-10-2005 à 19:50:03  profilanswer
 

n°1227426
sielfried
Posté le 20-10-2005 à 20:07:34  profilanswer
 

Une fonction ne peut pas accéder à des variables globales "directement". Il faut utiliser $GLOBALS ou déclarer la variable en début de fonction par

Code :
  1. global $sql_host, $sql_pass;

.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1227575
folkN2
Posté le 20-10-2005 à 22:15:55  profilanswer
 

en fait , je me suis (tres?) mal exprimé ...
 
J'aurais voulu savoir s'il n'existait pas d'autres methodes que les deux que tu enonces ... et que j'ai deja utilisée auparavant mais qui me paraissent un peu "lourde" a l'utilisation :/
 
mais si ce sont les seuls et uniques solutions , alors soit!
 
 
PS: la hierarchie des scripts/includes/lib est-elle cohérente d'apres vous?

n°1227706
sielfried
Posté le 21-10-2005 à 09:31:15  profilanswer
 

A priori il n'y a pas d'autre solution.
 
Pour la hiérarchie, je suis pas un spécialiste mais ça me paraît classique et correct en tout cas.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1227730
shakpana
des fois, j'me demande ...
Posté le 21-10-2005 à 09:48:25  profilanswer
 

folkN2 a écrit :

en fait , je me suis (tres?) mal exprimé ...
(...)
PS: la hierarchie des scripts/includes/lib est-elle cohérente d'apres vous?


oui, c'est sûr, pour ce qui est de la hierarchie y'a pas vraiment d'autres solutions.
Néanmoins, pour l'exemple précis $sql_login, $sql_pass tu peux en faire des constantes, vu que je ne pense pas que ces variables changeront souvent lors de l'exe de ton script ...
Et pour l'exemple de la connexion à la DB, peut être que tu peux te pencher sur le monde merveilleux des classes, qui te permettront de sortir de l'execution 100% procédurale, mais c'est un autre (long) débat ...

n°1228336
folkN2
Posté le 21-10-2005 à 18:09:31  profilanswer
 

je savais que mon code pour mon mysql_connec allait declancher les hostilités ;)
 
en fait je testais une librairie qui me pose pas mal de probleme .. et je ne me suis pas amusé a reprendre le code pour le SQL etc.. j'ai copié tel quel celui que j'avais sur mes (tres) anciens projets... mais il sera revu dans le bon sens sans aucun doute :)
 
merci pour les reponses en tout cas!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Include/Require en cascade et acces aux variables

 

Sujets relatifs
Template PHPlib : Include();Problème avec déclaration des variables.
Pb avec plusieurs include PHP sur une même pageAide sur les variables($) variables(adj)
IncludeGarder les droits d'accès sur un répertoire
Accès et modification d'un élément de ma page (DOM)récupérer dans mon code des variables depuis le config.ac
SOS:page qui s'affiche pas toujours! pb:accés protégé?![C++] bibliotheque et variables globals
Plus de sujets relatifs à : Include/Require en cascade et acces aux variables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR