Bonjour,
Voilà, j'ai un problème avec un include, je vais tâcher d'être clair.
J'appelle dans toutes mes pages un fichier en include, qui lui en appelle 4.
Mon problème se situe dans mon fichier bibliotheque(fonctions) et structure(fonctions de structure de la page).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php session_start(); require('./inc/identifiants_bdd.php'); require('./inc/class_sql.inc.php'); //démarrage de la connexion $db = new connexion($host, $user, $pass, $base); require('./inc/bibliotheque.php'); require('./inc/structure.php'); ?>
J'ai besoin de faire des requêtes dans certaines de mes fonctions, seulement php réagit comme si la connexion n'a pas été déclarée.
Exemple dans structure.php, j'ai une fonction qui me permet d'afficher un petit menu horizontal, et dans celle-ci, j'ai une requête pour vérifier si l'utilsateur a de nouveaux mp.
Seulement voilà, j'ai un : Fatal error: Call to a member function req() on a non-object
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 function menu() { if( !isset($_SESSION['user']) ) { $connect = '<li class="mhd"><a href="membre-connexion.php">Connexion</a></li>'; } else { $connect = '<li class="mhd"><a href="membre-deconnexion.php">déconnexion</a></li>'; $connect .= '<li class="mhd"><a href="membre-options.php">' . $_SESSION['user']['name'] . '</a></li>'; // sélection des mp non-lus $sql = 'SELECT COUNT(*) FROM mp_lecture WHERE user_id=' .$_SESSION['user']['id']; $nb = $db -> req($sql, RESULT); $connect .= '<li class="mhd"><a href="membre-mp.php">' . $nb . ' messages</a></li>'; } // etc..........
Je ne comprends pas trop, je fais bien appel à ma classe sql, et donc la connexion est bien ouverte.
Si j'utilise cette requête dans une page appelante, ça fonctionne très bien
Pourquoi php réagit de cette façon ?
Comment remédier au problème ?
Partager