Pb lors de l'include d'une classe
Résolu
elonaenjy
-
elonaenjy -
elonaenjy -
Bonjour,
J'ai écrit un traitement d'envoi de mail appelé par un formulaire php. L'envoi de mail fonctionne bien. Mais j'ai voulu compliquer le sujet en paramétrant l'adresse du destinataire dans une base de données.
Voici les sources :
Début du traitement envoiMail.php
Classe Utilisateur.php
EDIT : AJout des balises de code.
Je travaille avec une arborescence de type MVC : envoiMail.php est dans le répertoire "Contrôleur" et la classe "utilisateur" dans le répertoire Modèle.
Je plante avec le message d'erreur "impossible d'ouvrir le flux Utilisateur.php".
Merci d'avance pour votre aide
Configuration: Windows / Chrome 79.0.3945.130
J'ai écrit un traitement d'envoi de mail appelé par un formulaire php. L'envoi de mail fonctionne bien. Mais j'ai voulu compliquer le sujet en paramétrant l'adresse du destinataire dans une base de données.
Voici les sources :
Début du traitement envoiMail.php
<?php require_once 'Modele/Utilisateur.php'; $dest = new Utilisateur(); $infoUtilisateur = getUtilisateur($_POST['dest']);
Classe Utilisateur.php
<?php require_once 'Modele/Modele.php'; class Utilisateur extends \Modele { public function infoUtilisateur($cdUtilisateur) { $sql = "SELECT * FROM _pedagogie, lb_pedagogie FROM utilisateur WHERE login_utilisateur = \"$cdUtilisateur\""; $infoUtilisateur = $this->executerRequete($sql); if ($infoUtilisateur->rowCount() > 0) echo "je passe dans le select"; return $infoUtilisateur->fetch(); // Accès à la première ligne de résultat // else // throw new Exception("Aucune information recteur trouvé pour l'identifiant '$cdUtilisateur'"); // TODO - Insert your code here }
EDIT : AJout des balises de code.
Je travaille avec une arborescence de type MVC : envoiMail.php est dans le répertoire "Contrôleur" et la classe "utilisateur" dans le répertoire Modèle.
Je plante avec le message d'erreur "impossible d'ouvrir le flux Utilisateur.php".
Merci d'avance pour votre aide
A voir également:
- Pb lors de l'include d'une classe
- Logiciel de classement de photos gratuit - Guide
- Classe ram - Guide
- Logiciel de classement de documents gratuit - Télécharger - Bureautique
- Dans le code de la page, modifiez la couleur de fond de la classe .pix. un code de 4 chiffres doit apparaître dans la grille. lequel ? ✓ - Forum Excel
- Bluetooth mercedes classe a - Forum Autoradio
2 réponses
Bonjour,
Le message d'erreur ne semble pas provenir du code que tu nous montres
a moins qu'il ne vienne de ta class "Modele" que tu nous montres pas.
Ensuite, je suppose que tu bosses en PDO
et dans ce cas, la méthode rowCount n'est pas à utiliser sur le résultat d'une requête select.
un rowCount ne s'utilise que sur un update/delete
Je vois également dans ton code que tu fais appel à une fonction getUtilisateur ....
sauf que... cette fonction n'existe nul-part dans le code que tu nous montres.
Toi, ce que tu sembles faire, c'est :
Le message d'erreur ne semble pas provenir du code que tu nous montres
a moins qu'il ne vienne de ta class "Modele" que tu nous montres pas.
Ensuite, je suppose que tu bosses en PDO
et dans ce cas, la méthode rowCount n'est pas à utiliser sur le résultat d'une requête select.
un rowCount ne s'utilise que sur un update/delete
Je vois également dans ton code que tu fais appel à une fonction getUtilisateur ....
sauf que... cette fonction n'existe nul-part dans le code que tu nous montres.
Toi, ce que tu sembles faire, c'est :
//récupération PROPRE des variables AVANT de les utiliser $dest = !empty($_POST['dest']) ? $_POST['dest'] : NULL; //initialisation de l'objet $oDest = new Utilisateur(); //récupération des infos de l'utilisateur $infoUtilisateur = $oDest->infoUtilisateur($dest);
Merci Jordan45 pour ton aide.
Mais j'ai toujours le message " Warning: require_once(Modele/Modele.php): failed to open stream: No such file or directory in D:\wamp64\www\Institut_Docteur_Angelique\Modele\Utilisateur.php on line 3"
alors que le fichier Utilisateur.php est bien a l emplacement ou il dit ne pas trouver le fichier.
Mais j'ai toujours le message " Warning: require_once(Modele/Modele.php): failed to open stream: No such file or directory in D:\wamp64\www\Institut_Docteur_Angelique\Modele\Utilisateur.php on line 3"
alors que le fichier Utilisateur.php est bien a l emplacement ou il dit ne pas trouver le fichier.
Bien vu.... :-)
Maintenant je plante plus loin "Erreur fatale: erreur non interceptée: appel à la fonction non définie infoUtilisateur () dans D: \ wamp64 \ www \ Institut_Docteur_Angelique \ Controleur \ envoiMail.php sur la ligne 7"
require_once __DIR__ . '/../Modele/Utilisateur.php';
$dest = new Utilisateur();
$infoUtilisateur = infoUtilisateur($_POST['dest']);
:-(
Maintenant je plante plus loin "Erreur fatale: erreur non interceptée: appel à la fonction non définie infoUtilisateur () dans D: \ wamp64 \ www \ Institut_Docteur_Angelique \ Controleur \ envoiMail.php sur la ligne 7"
require_once __DIR__ . '/../Modele/Utilisateur.php';
$dest = new Utilisateur();
$infoUtilisateur = infoUtilisateur($_POST['dest']);
:-(
J'ai retiré le rowcount...
Voilà le message d'erreur que je continue à avoir :
Avertissement: require_once (Modele / Utilisateur.php): échec d'ouverture du flux: aucun fichier ou répertoire de ce type dans D: \ wamp64 \ www \ Institut_Docteur_Angelique \ Controleur \ envoiMail.php sur la ligne 3
Voici le code du traitement envoiMail.php
EDIT : Ajout des balises de code
Le fichier n'est pas à l'emplacement que tu indiques...
Je suppose que ton dossier Modele se trouve au même niveau que ton dossier Controleur....
Donc
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
J'ai compris. Ne pas confondre fonction et méthode....
Et désolée car la réponse était dans ta première réponse... Mais au moins maintenant j'ai compris....
Merci mille fois