Récupération des variables

Résolu/Fermé
ettto Messages postés 40 Date d'inscription mardi 14 avril 2015 Statut Membre Dernière intervention 28 avril 2015 - 19 avril 2015 à 22:54
ettto Messages postés 40 Date d'inscription mardi 14 avril 2015 Statut Membre Dernière intervention 28 avril 2015 - 19 avril 2015 à 23:46
Bonjour,
mon problème est le suivant:
je n'arrive pas a récupérer des variables d'une autre classe php
voila mon code du fichier config.php:
<?php
class config
{
private $host='localhost'; // db host
private $user='root'; // db username
private $pass=''; // db password
private $db='db' ; // db name

public function connect()
{ private $link;
$link = mysql_connect ($host, $user, $pass);
mysql_select_db ($db,$link);

}

}
?>

j'essayais avec la commande suivante:
include 'config.php';

mais ça marche pas..
quelqu'un m'aidé et merci d'avance..


4 réponses

Utilisateur anonyme
19 avril 2015 à 23:31
Bonjour

En premier lieu, tu devrais utiliser PDO plutôt que les fonctions mysql_ qui ne seront bientôt plus supportées en PHP.

Mais ton problème vient d'une mauvaise utilisation des variables de ta classe. Effectivement, $host n'est pas défini dans ta fonction. C'est $this->host qu'il faut écrire, et idem pour toutes les variables de la classe dans toutes les méthodes (fonctions) de cette classe. Une ligne en guise d'exemple, à toi d'adapter les autres :
 $link = mysql_connect ($this->host, $this->user, $this->pass);
1
ettto Messages postés 40 Date d'inscription mardi 14 avril 2015 Statut Membre Dernière intervention 28 avril 2015 6
19 avril 2015 à 23:43
merci beaucoup "Le père" .. mon programme ça marche bien a cause de vous..
:D
0
jordane45 Messages postés 38358 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 décembre 2024 4 719
Modifié par jordane45 le 19/04/2015 à 23:43
Bonjour,
Sans oublier (comme il te l'a été dit dans le message https://forums.commentcamarche.net/forum/affich-31858234-recuperation-des-variables#5) qu'il s'agit d'une CLASS .. donc on ne fait pas seulement un INCLUDE .. mais aussi un NE (et pour cela il faut un CONSTRUCT dans la class)

<?php
class config {
private $host='localhost'// db host
        ,$user='root' // db username
        ,$pass='' // db password
        ,$db='db' ; // db name
public $link;

 function __construct(){
   $this->connect();
}

  private function connect()   {
   $this->link = mysql_connect ($this->host, $this->user, $this->pass);
   mysql_select_db ($db,$link);
   }

}
?>


 require_once "config.php";
 $cfg= new config();
 $link = $cfg->link;


Cordialement,
Jordane
1
ettto Messages postés 40 Date d'inscription mardi 14 avril 2015 Statut Membre Dernière intervention 28 avril 2015 6
19 avril 2015 à 23:46
merci pour votre aide aussi .. j'arrive de résolu mon problème
0
seabust Messages postés 741 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 30 juillet 2015 101
19 avril 2015 à 22:57
Bonjour,

Qu'est-ce qui ne marche pas exactement, ton include ?
0
ettto Messages postés 40 Date d'inscription mardi 14 avril 2015 Statut Membre Dernière intervention 28 avril 2015 6
19 avril 2015 à 23:03
j'essayais de connecter a mon base de données avec la classe config..
le message d'erreur c'est que les varible $host, $user, $pass et $db ne sont pas définies..
0
seabust Messages postés 741 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 30 juillet 2015 101
19 avril 2015 à 23:05
montre au moins le code qui ne marche pas !
0
ettto Messages postés 40 Date d'inscription mardi 14 avril 2015 Statut Membre Dernière intervention 28 avril 2015 6
19 avril 2015 à 23:13
mon problème c'est comment récupérer la fonction connect dans une autre fichier php puisque la commande include ne marche pas et j'essayais plusieurs solution mais aucune résultat..
je suis débutant en php ..en tt cas merci pour votre aide :D et j'attend une solution si tu peut :)
0
seabust Messages postés 741 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 30 juillet 2015 101
19 avril 2015 à 23:18
La réponse que tu cherches est
(new config())->connect();

Mais je ne pense pas que ça te serve à quoi que ce soit si tu ne comprends pas pouquoi ce que tu faisais avant était faux.
0
ettto Messages postés 40 Date d'inscription mardi 14 avril 2015 Statut Membre Dernière intervention 28 avril 2015 6
19 avril 2015 à 23:27
j'ai essayer avec votre commande et voila l'erreur:
Undefined variable: host in C:\wamp\..\config.php on line 11
meme problème pour les autre variable
0