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

MkFramework Discussion :

Un probleme au niveau des mails


Sujet :

MkFramework

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut Un probleme au niveau des mails
    Bonjour Mika,

    Voila, j'ai une liste déroulante avec des agences, quand je choisi une agence et que j'appuie sur valider de mon formulaire, sa envoie un mail a l'agence tout en récupérant l'adresse de l'agence dans la table agence mais le problème est que le mail est envoyé 3 fois POURQUOI ?

  2. #2
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Il faudrait que je vois le code pour expliquer pourquio il est envoyé 3 fois

    vous pouvez utiliser le moteur de log pour ecrire à chaque fois que vous envoyer un email

    dans le fichier de config, activez le log applicatif: application=1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    [log]
    class=plugin_log
    error=0
    warning=0
    application=1

    et dans votre code php, ou vous envoyez l'email
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    _root::getLog()->log('on envoi un email ici');
    $oMonObjetMail->send();

    faites ensuite la meme chose, et regardez le log dans data/log
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    Finalement j'ai résolu mon erreur mais j'ai un autre probleme, je souhaite quand j'appuie sur un bouton approuver, que sa envoie l'email a celui qui a fais la demande comment faire ?

  4. #4
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Si par "celui a fait la demande" vous parlez de la personne qui a cliqué

    Vous avez une authentification ? si oui, vous avez dans ce cas la en session l'utilisateur connecté

    accessible via
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    _root::getAuth()->getAccount()
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    En faite, il y a un utilisateur qui a remplis un formulaire, par la suite, je voudrais me connecter avec un nouveau utilisateur et valider le formulaire entré par l'autre utilisateur et en appuyant sur le bouton de validation, que je puisse récupérer l'email de celui qui a remplis le formulaire et lui envoyé un mail.

    Exemple : Utilisateur 1 a remplis un formulaire
    Utilisateur 2 consulte le formulaire remplis par Utilisateur 1, ensuite Utilisateur 2 appuie sur un bouton de validation et ce bouton doit permettre d'envoyé un mail a Utilisateur 1

    Comment récupérer l'adresse email d'Utilisateur 1 afin de lui envoyé un mail (En sachant que dans ma table "user" il y a une colonne email).

  6. #6
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Il faudrait utiliser en base la clé primaire de l'utilisateur 1

    comme ça vous pourrez avec l'utilisateur 2 savoir qui a remplis le formulaire
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    Comment faire cela ?

  8. #8
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Quand vous soumettez votre formulaire, vous enregistrer quelquechose en base de données ?

    Si oui, il faut ajotuer un champ en base "cle du user" par exemple userId

    Et lors de l'enregistremetn en base vous remplirez ce champ avec l'id de l'utilisateur connecté

    Dans la méthode qui fait le processSave()
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    $oMonFormulaire->monChampQuiContientLeUserId=_root::getAuth()->getAccount()->id;
     
    (...)
    if( $oMonFormulaire->save() ){
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    Mais je vois pas comment sa peut me permettre en tant qu'utilisateur 2 d'envoyé un email a l’utilisateur 1 qui a déjà remplis son formulaire (et que j'ai récupérer son id a l'utilisateur 1) en appuyant avec l'utilisateur 2 sur un bouton de validation.




    J'ai une deuxième question : comment faire pour récupérer des données déjà entré dans la base de donnée et les mettre dans le body de l'email ?

  10. #10
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    On va faire simple, vous avez une base avec une table monFormulaire avec plusieurs champs

    vous remplissez votre formularie, et au moment où vous le recevez

    vous enregistrez en base:

    le contenu de ce formulaire + l'id du user connecté

    Apres il est donc simple en requetant les données sur cette table de recuperer les donnes enregistres du formulaire + via l'id de l'utilisateur qui a soumis de retrouver son email (il faut bien sur l'enregistrer avant dans la table des users )
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  11. #11
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    J'arrive pas a faire la requête pour récupérer l'email de celui qui a soumis le formulaire comment faire ? Plutôt peut tu me donner la syntaxe pour savoir ou je me trompe ?

    Dans mon model_user j'ai fais sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public function findId(){
    		return $this->findOne('SELECT email FROM mission, user WHERE user.login = mission.demandeur' );
    	}
    et dans le main de mission pour envoyé l'email je sais pas quoi faire.
    PS : (Dans ma table mission, je récupère le login et non l'id de l'utilisateur connecté quand il soumette le formulaire)

  12. #12
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pouvez vous donnez les structures des deux tables: missions et users

    car dans cette requete il manque l'element de jointure: vous faites un from sur 2 tables sans indiquer comment faire le lien
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    Ma table "user" : iduser, login, mdp, email

    Ma table "mission" : idmission, demandeur(a l’intérieur je récupère le login de user), rayonaffectation1, pourcentaffec1 et etc.....

    Quel est la requête que je dois faire ? et je dois mettre quoi dans le main ?

  14. #14
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    1. dans la table mission, il vaudrait mieux profiter du coté relationnelle de la base: en stoquant l'id du user connecté et non son login

    ainsi:
    Ma table "mission" : idmission, demandeur_id (a l’intérieur je récupère l' id du user), rayonaffectation1, pourcentaffec1 et etc.....


    2.Ainsi, au moment du processSave() du module qui gère la mission, vous auriez
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public function processSave(){
    (...)
     
     
    //au moment de remplir les éléments de mission, on en profite pour enregistre l'id du user connecté
    $oMission->demandeur_id=_root::getAuth()->getAccount()->id;
     
    if($oMission->save() ){
     (...)


    3.Enfin pour récupérer l'email du user qui a enregistré la mission, dans model_user

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public function findUserByMission($missionId){
    		return $this->findOne('SELECT user.* FROM mission INNER JOIN   user on mission.demandeur_id=user.id WHERE mission.id=? ',$missionId );
    	}

    Ainsi vous recuperé tous les champ du user qui a creer la mission en base
    Par exemple sur la page d'afficahge de la mission
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $oMission=model_mission::getInstance()->findById( _root::getParam('id') );
     
    $oUser=model_user::getInstance()->findUserByMission( $oMission->id);

    Vous comprenez l'idée ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  15. #15
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    Et pour mettre l'email de l’utilisateur recupérer pour l'envoie de mail, je n'ai qu'a faire oUser->email ?

  16. #16
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Vous faites un

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
     $oMail=plugin_mail();
           $oMail->setFrom('Expediteur','votre@email.from');
     
    //ici l'email du user a l'origine de l'enregistre de la mission
           $oMail->addTo( $oUser->email );
     
           $oMail->setBody($sContent);
           $oMail->send();
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  17. #17
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    Impéccable merci Mika

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

Discussions similaires

  1. Probleme au niveau des requetes
    Par kidmig dans le forum MkFramework
    Réponses: 25
    Dernier message: 28/12/2017, 18h50
  2. problem au niveau des fonctions
    Par sonnyanderson dans le forum LabVIEW
    Réponses: 1
    Dernier message: 08/10/2013, 13h51
  3. [2010] probleme d'interpretation des mails html sur office 2010
    Par ploufleouf74 dans le forum Microsoft Office
    Réponses: 0
    Dernier message: 29/02/2012, 16h23
  4. Réponses: 5
    Dernier message: 07/02/2007, 10h10

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