Inclusion d'une classe provenant d'un autre fichier
lilippx
Messages postés149Date d'inscriptionsamedi 19 mars 2005StatutMembreDernière intervention15 septembre 2007
-
18 déc. 2006 à 16:42
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 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.
A voir également:
Inclusion d'une classe provenant d'un autre fichier
lilippx
Messages postés149Date d'inscriptionsamedi 19 mars 2005StatutMembreDernière intervention15 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?)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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.
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 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
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... .. .
Vous n’avez pas trouvé la réponse que vous recherchez ?
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 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... .. .