IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème avec require_once et une classe [PHP 5.2]


Sujet :

Langage PHP

  1. #1
    Membre averti
    Avatar de Psycadi
    Homme Profil pro
    Chef de projet - Expert en message box
    Inscrit en
    Juillet 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet - Expert en message box

    Informations forums :
    Inscription : Juillet 2003
    Messages : 147
    Points : 364
    Points
    364
    Par défaut Problème avec require_once et une classe
    Bonjour,

    J'ai un petit problème entre la classe qui me permet d'envoyer des mails et l'arborescence de mon site.

    Je sens que j'ai fait une boulette mais je ne vois pas où.

    Mon site a une arbo comme ceci
    /site/php/*.php -> scripts "générique" du site
    /site/php/class/*.php -> class du site
    Je suis dans le script password.php de /site/php qui est appellé depuis une page qui est dans le même dossier (via un script js) et je veux utiliser la classe oMail qui se trouve dans /site/php/class.

    Un petit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require_once('class/oMail.php');
    me permet de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $objMail = new oMail();
    Dans mon répertoire /site/php, j'ai aussi un ficher database.php qui contient mes informations de login (je vous fait confiance, vous me piratez pas hein :p)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $hostname_projet = "localhost";
    $database_projet = "ma_super_base";
    $username_projet = "root";
    $password_projet = "pass";
    ?>
    Mais ensuite, j'ai un problème dans ma classe oMail car elle doit aller chercher des informations dans la base de données. J'ai fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require_once('../php/database.php');
    si je change le chemin, il me dit qu'il ne trouve pas le fichier.

    Mais lorsque j'essaie de me connecter à ma base, j'ai un message d'erreur.
    Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:\wamp\www\mon_site\php\class\oMail.php on line 19

    Fatal error: in D:\wamp\www\mon_site\php\class\oMail.php on line 19
    Donc, je pense que je fais pas ce qu'il faut mais j'avoue ne pas trouver beaucoup d'aide sur le net.

    Merci par avance pour votre aide

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    essai de faire entré a ta function dans la classe ou tu utilise le require_once un array qui contient les information de ta base de donné.

    ou

    Connecte toi dans la base avant d'appeler la class

  3. #3
    Membre averti Avatar de sayari.dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2010
    Messages : 142
    Points : 300
    Points
    300
    Par défaut
    Bonjour,

    Insère cette ligne juste au début de ton oMail.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require_once('../database.php');

  4. #4
    Membre averti
    Avatar de Psycadi
    Homme Profil pro
    Chef de projet - Expert en message box
    Inscrit en
    Juillet 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet - Expert en message box

    Informations forums :
    Inscription : Juillet 2003
    Messages : 147
    Points : 364
    Points
    364
    Par défaut
    Bonjour,

    Merci pour vos réponse mais je n'arrive pas à corriger mon problème.

    m4riachi,
    J'ai fait les commandes mysql_connect et mysql_select_db avant de créer l'objet oMail et en supprimant le require_once de cette classe et j'ai le même message d'erreur.

    sayari.dev,
    Si je fais cette modif, il me dit qu'il ne trouve pas le fichier ../database.php

  5. #5
    Membre averti
    Avatar de Psycadi
    Homme Profil pro
    Chef de projet - Expert en message box
    Inscrit en
    Juillet 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet - Expert en message box

    Informations forums :
    Inscription : Juillet 2003
    Messages : 147
    Points : 364
    Points
    364
    Par défaut
    Autant pour moi, j'ai résolu mon problème en supprimant de ma classe oMail la connexion à la base que je fais avant et cela fonctionne correctement.

    Merci pour votre aide.

  6. #6
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Apparemment le database.php est inclus dans le fichier oMail.php.
    A mon sens il serait mieux de l'inclure dans la page principale, quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    require_once('database.php');
     
    require_once('class/oMail.php');

  7. #7
    Membre averti
    Avatar de Psycadi
    Homme Profil pro
    Chef de projet - Expert en message box
    Inscrit en
    Juillet 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet - Expert en message box

    Informations forums :
    Inscription : Juillet 2003
    Messages : 147
    Points : 364
    Points
    364
    Par défaut
    C'est ce que j'ai fait pour corriger le problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec IsNull() dans une classe.
    Par AsmCode dans le forum VBA Access
    Réponses: 1
    Dernier message: 29/09/2009, 22h26
  2. [PHP 5.0] Problème avec méthode d'une classe
    Par diblasio dans le forum Langage
    Réponses: 2
    Dernier message: 03/08/2009, 18h57
  3. problèmes avec la stratégie : une table par classe fille
    Par M.a.n.u. dans le forum Hibernate
    Réponses: 4
    Dernier message: 04/02/2009, 11h01
  4. [POO] Problème avec un require_once dans une classe
    Par Sayrus dans le forum Langage
    Réponses: 5
    Dernier message: 23/02/2008, 14h40
  5. Problème avec .configure dans une classe
    Par Instanton dans le forum Tkinter
    Réponses: 2
    Dernier message: 29/12/2007, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo