Bonjour,

Je suis en train de développer un site web et je rencontre un petit soucis avec mes classes PHP.

J'obtiens une erreur que ma variable $connexion n'est pas défini.

Voici le code

connexionBDD2.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<?php
 
$connexion = new mysqli('localhost', 'nom_user', '');
$connexion->select_db('nom_BDD') or die("erreur");
 
?>
class covoiturage.php
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
19
20
21
22
23
24
class covoiturage
	{
		private $AllCovoiturage = array();
 
		function __construct()
		{
 
		}
 
		function Create()
		{
                	include("../../connexion/connexionBDD2.php");
			$AddCovoiturage = "INSERT INTO covoiturage(// Liste des paramètres												  ) 
 VALUES (//Liste des paramètres)";
			$reussi = $connexion->query($AddCovoiturage) or die ("Erreur creation ");
                        // Boucle pour implémenter l'array AllCovoiturage
			if($reussi)
				echo "<script language='JavaScript'>alert('Votre trajet a bien été créé. Vous le retrouverez dans la section covoiturage ou dans votre profil.')</script>";
                mysqli_close($connexion);
                return $this->AllCovoiturage;
                }
 
  // Plusieurs méthodes du même genre
        }
class profil.php
Le code est identique, un constructeur vide, une requete insert avec un return d'un array dans chaque fonction.

Et dans le code appelant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
$Init = new covoiturage();	
$P = new profil();		
$tableau = $Init->Create();
$P = $Init->RetourProfil();
Et là sur l'appel de la fonction RetourProfil, il me dit que ma variable $connexion de ma class n'est pas défini "error call member is non object" ou un message d'erreur de ce genre.

Par contre si je supprime la création de l'objet covoiturage() et la méthode appelé Create() ca fonctionne.

Il peut y avoir des conflits entre méthodes ? Pourquoi ma 2eme variable $connexion n'est pas défini ?

J'ai essayé de simplifié au maximum le code, j'espère que ca suffira.

Merci !!