Inclusion d'une classe provenant d'un autre fichier

lilippx Messages postés 149 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 15 septembre 2007 - 18 déc. 2006 à 16:42
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015 - 19 déc. 2006 à 12:35
salut, je me suis mis au php ce matin mais je bute sur un petit truc (dès le premier jour, ce n'est pas motivant...)
je n'arrive pas à instancier un objet à partir d'une classe décrite sur un autre fichier.
si je mets la meme classe sur ma page html, ca fonctionne. Je précise que la mention 'fichier inclu' apparait dans les deux cas, donc le pb ne vient pas du chemin.
mon fichier contenant la classe :
<?php

class Persistance{
    var $host;
    var $login;
    var $pass;
    var $dbName;
    //constructeur
    function Persistance($setHost, $setLogin, $setPassword, $setDbName)
    {       
    echo('objet instancie');
    $this->host=$setHost;
    $this->login=$setLogin;
    $this->pass=$setPassword;
    $this->dbName=$setDbName;
    }
    function openConnection()
    {
    mysql_connect($host,$login,$pass);
    mysql_select_db(dbName);   
    }
    function executeSelectQuery($query)
    {
    return mysql_query($query);
    }
    function closeConnection()
    {
    mysql_close();
    }
}
echo 'fichier inclu
';
?>
mon appeldans le fichier html :
<?php    
        include("http://localhost/obsc/mesClasses.php");        
        $persist= new persistance("http://127.0.0.1","root"," ","Obselc");
       ?>

voila merci.

5 réponses

DiGhan Messages postés 239 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 3 juin 2010 1
18 déc. 2006 à 17:43
Hello,

franchement, je ne vois pas d'oû peut venir l'erreur.
Peut être peux-tu nous fournir plus d'infos, notamment les 'warnings ou errors' retournés.
0
lilippx Messages postés 149 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 15 septembre 2007
18 déc. 2006 à 18:04
merci de t'etre interressé au probleme, j'ai mis le tout sous iis, ca marchait parfaitement, j'ai relancé easyPhp, ca marche aussi,mystere.....
sinon, une autre petite question qui n'a rien ou pas grand chose à voir, iis me renvois des log d'erreur si erreur il y a, alors que Apache, rien(probleme de config apache?)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
18 déc. 2006 à 18:33
Hello,

le problème vient du fait que tu passes une url absolue. Du coup c'est comme si tu étais sur un serveur distant.
Le résultat est que le PHP est interprété directement, et le html généré est renvoyé : le php lui n'est pas accessible. Tu ne peux pas "lire" le php de cette manière.
J'ai du mal à m'exprimer lol et je suis à la bourre désolé, relis la doc sur les include, require, require_once et cie, tu comprendras vite.
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
19 déc. 2006 à 12:31
bah pour completer Malalam tu passe par une url... php vas donc cherche le fichier via http comme ton navigateur pourrait le faire si tu vas sur la page

 http://localhost/obsc/mesClasses.php

et justement si tu fais pointer ton navigateur sur cette adresse tu verras une page blanche car il n'y aucune sortie html... .. .

Tu dois donc inclure ton fichier en local... par exemple...

include('obsc'.DIRECTORY_SEPARATOR.'mesClasses.php');

Petite précision : sauf cas très particulier il ne faut jamais faire d'include http car le serveur traite ça comme une requete distante... il doit donc ouvrir une connection distante, faire une requete DNS pour trouver le serveur correspondant au nom de domaine, envoyer la requete, attendre la réponse puis la traiter... alors que si tu fais un include local tout le traitement reste en interne... .. .

@ tchaOo°

l'homme est un loup pour l'homme... .. .
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
19 déc. 2006 à 12:35
Pour l'histoire des erreurs... tu parle de quelles erreurs... les erreurs php ou les erreurs apache... .. .

Dans le premier cas il faut voir la configuration de php (php.ini) à la ligne error_reporting... par défaut les erreur sont affichées mais ne sont pas loggées... .. .

error_reporting();

php.ini error-reporting

@ tchaOo°

l'homme est un loup pour l'homme... .. .
0
Rejoignez-nous