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

Symfony PHP Discussion :

Formulaire Email Action [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web Etudiant
    Inscrit en
    Avril 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web Etudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 34
    Points : 12
    Points
    12
    Par défaut Formulaire Email Action
    Bonjour

    Je suis entrin de mettre en place un formulaire de contact par email.

    Voici mes fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    //ContactForm.class.php
    class ContactForm extends sfForm
    {
       protected static $subjects = array(' ' => '(Choisissez le sujet)', 'Devis' => 'Demande de devis', 'Rendez-vous' => 'Rendez-vous', 'Autres' => 'Autres...');
     
     
      public function configure()
      {
        //unset($this->widgetSchema['_csrf_token']);
        // $this->disableCSRFProtection();
     
     
     
        $this->setWidgets(array(
          'nom'        => new sfWidgetFormInputText(array(), array('class' => 'input_petit', 'type' => 'text', 'onFocus' => "input_focus(this, 'Nom ');", 'onBlur' => "input_blur(this, 'Nom ');", 'required' => 'required', 'maxlength' => '30', 'pattern' => '[a-zA-Z ]{3,}')),
          'prenom'     => new sfWidgetFormInputText(array(), array('class' => 'input_petit', 'type' => 'text', 'onFocus' => "input_focus(this, 'Prénom');", 'onBlur' => "input_blur(this, 'Prénom');", 'required' => 'required', 'maxlength' => '30', 'pattern' => '[a-zA-Z ]{3,}')),
          'mail'       => new sfWidgetFormInputText(array(), array('class' => 'input_moyen', 'type' => 'email', 'onFocus' => "input_focus(this, 'Adresse email');", 'onBlur' => "input_blur(this, 'Adresse email');", 'maxlength' => '30')),
          'telephone'  => new sfWidgetFormInputText(array(), array('class' => 'input_moyen', 'type' => 'text', 'onFocus' => "input_focus(this, 'Téléphone');", 'onBlur' => "input_blur(this, 'Téléphone');", 'required' => 'required', 'maxlength' => '30', 'pattern' => '([0-9]+[ -_/])*[0-9]+')),
          'sujet'    => new sfWidgetFormSelect(array('choices' => self::$subjects), array('class' => 'input_select')),
          'titre'      => new sfWidgetFormInputText(array(), array('class' => 'input_grand', 'type' => 'text', 'onFocus' => "input_focus(this, 'Titre');", 'onBlur' => "input_blur(this, 'Titre');", 'required' => 'required', 'maxlength' => '30', 'pattern' => '[a-zA-Z ]{3,}')),
          'contenu'    => new sfWidgetFormTextarea(array(), array('class' => 'input_textarea')),
         ));
     
        $this->setValidators(array(
          'nom'        => new sfValidatorString(array('required' => true, 'min_length' => 2, 'max_length' => 20), array('required' => 'Veuillez indiquer votre nom ','min_length' => 'Un minimum de deux caractères est requis.', 'max_length' => 'Un maximum de vingt caractères est requis.')),
          'prenom'     => new sfValidatorString(array('required' => true, 'min_length' => 2, 'max_length' => 20), array('required' => 'Veuillez indiquer votre prénom ','min_length' => 'Un minimum de deux caractères est requis.', 'max_length' => 'Un maximum de vingt caractères est requis.')),
          'mail'       => new sfValidatorEmail(array('min_length' => 2, 'max_length' => 20), array('required' => 'L\'adresse mail est requise pour valider le formulaire', 'invalid' => 'Vérifiez que l\'adresse a été correctement tapée.')),
          'telephone'  =>  new sfValidatorString(array('required' => true), array('required' => 'Veuillez indiquer votre numéro de téléphone ')),
          'sujet'  =>  new sfValidatorString(array('required' => true), array('required' => 'Veuillez indiquer un sujet')),
          'titre'        => new sfValidatorString(array('required' => true, 'min_length' => 2, 'max_length' => 255), array('required' => 'Veuillez indiquer un titre ','min_length' => 'Un minimum de deux caractères est requis.', 'max_length' => 'Un maximum de vingt caractères est requis.')),
          'contenu'    => new sfValidatorString(array('required' => true), array('required' => 'Le contenu du mail est requis pour valider le formulaire')),
         ));
     
        $this->setDefaults(array(
          'nom'        => 'Nom ',
          'prenom'     => 'Prénom',
          'mail'       => 'Adresse email',
          'telephone'  => 'Téléphone',
          'titre'      => 'Titre',
        ));
     
     
        $this->widgetSchema->setNameFormat('contacta[%s]');
        $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
     
      }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Routing.yml
    DoContact:
      url:   /contact/mail
      param: { module: accueil, action: DoContact }
      requirements: { sf_method: post }
     
    contact:
      url:   /contact/
      param: { module: accueil, action: contact }
      object_actions: { wait: get }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    //action.class.php
      public function executeContact(sfWebRequest $request)
      {
        $this->form = new ContactForm();
        $this->horaires_element = Doctrine::getTable('Element')->getHorairesElement();
        $this->horaires_image = Doctrine::getTable('Image')->getImages('horaires');
      }
     
      public function executeWait(sfWebRequest $request)
      {
        $this->horaires_element = Doctrine::getTable('Element')->getHorairesElement();
        $this->horaires_image = Doctrine::getTable('Image')->getImages('horaires');
      }
      public function executeDoContact(sfWebRequest $request)
      {
        $this->form = new ContactForm();
        $this->processForm($request, $this->form);
        $this->setTemplate('contact');
      }
      protected function processForm(sfWebRequest $request, sfForm $form){
        echo "xx";
        $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
        if ($form->isValid()) {
          if($this->ContactSend($request, $form)):
            $this->getUser()->setFlash('erreur', 'Echec de l’envoi du mail.');
          else:
            $this->getUser()->setFlash('notice', 'Envoi du mail réussi.');
          endif;
     
          //$this->redirect('@homepage');
          $this->redirect($this->generateUrl('accueil_wait'));
        }
      }
      public function executeContactSend(sfWebRequest $request, sfForm $form){
     
          echo "quelquehcose";
        $this->getUser()->setFlash('erreur', 'Echec de l’envoi du mail.');
        $data = $request->getParameter($form->getName());
     
        $mail = $this->getPartial('partials/mail', array('data' => $data));
     
        $objet = '[SITE] ['.$form->getSujet().'] '.$form->getTitre();
     
     
        $message = $this->getMailer()->compose(
            array($form->getMail() => $form->getPrenom().getNom(),
                'hugo.gresse@gmail.com',
                $objet,
                $mail
            ));
     
        return $this->getMailer()->send($message);
     
        }
    Lors de l'envoie du formulaire, il me dit que tout mes champs sont Requis pour être valide.

    Il doit y avoir un problème dans les actions, mais je ne trouve pas vraiment...

    Si vous avez une piste ?

    Merci

  2. #2
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    A mon avis, je regarderais du côté du form, plus précisément des widgets, plus encore de l'option
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'required' => 'required',
    que quelqu'un a rajouté...
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web Etudiant
    Inscrit en
    Avril 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web Etudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    c'est une option que je passe pour jQuery Tools form validator...

  4. #4
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Je ne doute pas que tu l'aie rajouté, mais elle indique un champ requis, ce qui pourrait bien inciter la réaction du form s'il ne sont pas saisi...

    Il y a un plugin qui automatiquement utilise les validateurs pour transmettre les paramètres à jQuery validateur. Ce qui évite une double saisie... Regarde dans la salle des plugin, le message épinglé sur les plugins les plus utilisés.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Web Etudiant
    Inscrit en
    Avril 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web Etudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    je viens d'enlever les required=>required... mais rien n'y fait, toujours pas de mail..


    Toujours la même erreur en arrivant sur la page (dans la debug bar)
    Required.
    $form['nom']
    et tout les autres champs pareille

    PS : merci pour la page plugin du forum

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur Web Etudiant
    Inscrit en
    Avril 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web Etudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    a la place d'ouvrir un autre topic, j'ai aussi un problème avec les images.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    generator:
      class: sfDoctrineGenerator
      param:
        model_class:           Image
        theme:                 admin
        non_verbose_templates: true
        with_show:             false
        singular:              ~
        plural:                ~
        route_prefix:          image
        with_doctrine_route:   true
        actions_base_class:    sfActions
     
        config:
          actions: ~
          fields:
            image_lien:
              name: image_lien
              type: admin_input_file_tag
              params: include_link=../uploads/image_lien include_remove=true include_text="View Image"
          list:
               display : [Element, =image_type, image_title, image_description, image_lien, _miniature,  updated_at]
          filter:
               display : [element_id, image_type, image_title, image_description, updated_at]
          form:
              display : [element_id, image_type, image_title, image_description, image_lien, image_redirection, image_lien]
              class: BackendImageForm
          edit:    ~
          new:     ~
    Les images sont bien remplacé lors de l'upload, mais remplacé... par du vide : le chemin affiché lors de la modification est '/uploads/'

    j'ai cherché partout, différent tuto etc, rien n'y fait.

    Mon champs en bdd s’appelle image_lien

  7. #7
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    J'avais compris que l'erreur était une erreur de validation du form.

    A priori l'erreur est ailleurs d'après ton dernier message. Peux-tu décrire précisément l'enchainement d'action qui va générer ton erreur ?
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  8. #8
    Membre à l'essai
    Homme Profil pro
    Développeur Web Etudiant
    Inscrit en
    Avril 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web Etudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    hmm, je sais moi-même pas trop le déroulement, c'est pourquoi j'ai mis tout les fichiers, mais je vais taché d'expliquer.

    1. L'utilisateur remplie le formulaire, et clic sur Envoyer
    2. Il est redirigé vers contact/mail où l'action DoContact envoie les donnée au proccessForm (c'est peut-être cette liaison qui ce fait mal)
    3. process form exécute la vérification du mail, et j'ai alors l'erreur qui me dit que les champs sont requis
    4. Si le form est vérifié, l'action d'envoi du mail est déclenché
    5. Flash user pour vérifié le bon envoie (jamais arrivé à cette étape).

    Je peut difficilement être plus claire....

  9. #9
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    OK, on est dans le déroulement classique.

    Dans le configure du form, tu mets tous les champs à required. Il est donc logique qu'il les demandes tous.

    Que ce passe-t-il si tu remplis tous les champs ?
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  10. #10
    Membre à l'essai
    Homme Profil pro
    Développeur Web Etudiant
    Inscrit en
    Avril 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web Etudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    je teste le formulaire en remplissant tout comme il faut, rien de plus, mais il me dit que les champs ne sont pas remplie, alors que je l'est envoyé remplie !

    peut-être que cela viens de là ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      public function executeDoContact(sfWebRequest $request)
      {
        $this->form = new ContactForm();
        $this->processForm($request, $this->form);
        $this->setTemplate('contact');
      }
    ou pas...

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 100
    Points : 123
    Points
    123
    Par défaut
    Salut,

    j'ai juste déceler une petit erreur dans ton code, à la ligne 24 de ton actions, tu appelle la fonction ContactSend, mais elle n'existe pas. N'est ce pas plutot executeContactSend ?

    Sinon, pour ton form, pour débuguer, as tu essayé d'afficher le contenu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $request->getParameter($form->getName()), $request->getFiles($form->getName())
    Tu peut afficher le contenu par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    throw new Exception(var_export($request->getParameter($form->getName()), true));
    Tu peut d'ailleurs remplacer ce code par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $request->getParameter($form->getName())
    car tu n'envoi aucun fichier.

    Inarius

  12. #12
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Accessoirement, le contenu de $request est consultable dans la barre de debug.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  13. #13
    Membre à l'essai
    Homme Profil pro
    Développeur Web Etudiant
    Inscrit en
    Avril 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web Etudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    Le problème a bien avancé avec votre aide !

    J'ai remarquer en cherchant plus loin un problème de csrf, que j'ai résolue.

    Puis, J'ai corrigé pas mal d'erreurs...

    Maintenant, il me dit Envoie du mail réussie, mais je ne reçois rien, et je ne sais pas comment voir ce qui ce passe.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    //action.class.php
      protected function processForm(sfWebRequest $request, sfForm $form){
     
        $form->bind($request->getParameter($form->getName()));
     
        if ($form->isValid()) {
          if($this->executeContactSend($request, $form)):
            $this->getUser()->setFlash('erreur', 'Echec de l’envoi du mail.');
          else:
            $this->getUser()->setFlash('notice', 'Envoi du mail réussi.');
          endif;
     
          //$this->redirect('@homepage');
          //$this->redirect($this->generateUrl('accueil_wait'));
        }
      }
      public function executeContactSend(sfWebRequest $request, sfForm $form){
     
        $this->getUser()->setFlash('erreur', 'Echec de l’envoi du mail.');
        $data = $request->getParameter($form->getName());
     
        $mail = $this->getPartial('partials/mail', array('data' => $data));
     
        $objet = '[SITE] ['.$data['sujet'].'] '.$data['titre'];
     
     
        $message = $this->getMailer()->compose(
                array($data['mail'] => $data['prenom'].' '.$data['nom']),
                'hugo.gresse@gmail.com',
                $objet,
                $mail
            );
     
        return $this->getMailer()->send($message);
     
     
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    #factories.yml
    all:
      routing:
        class: sfPatternRouting
        param:
          generate_shortest_url:            true
          extra_parameters_as_query_string: true
     
      view_cache_manager:
        class: sfViewCacheManager
        param:
          cache_key_use_vary_headers: true
          cache_key_use_host_name:    true
     
      mailer:
        class: sfMailer
        param:
          logging:           %SF_LOGGING_ENABLED%
          charset:           %SF_CHARSET%
          delivery_strategy: realtime
          transport:
            class: Swift_MailTransport
            param:
              host:       ns0.ovh.net 
              port:       587
              #encryption: ~
              username:   postmaster@star-graffic.com
              password:   mdpsecret !

  14. #14
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    La configuration par défaut en frontend_dev.php n'envoie pas de mail et retourne réussi à chaque demande d’envois...
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  15. #15
    Membre à l'essai
    Homme Profil pro
    Développeur Web Etudiant
    Inscrit en
    Avril 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web Etudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    Sujet résolue, j'ai reconfiguré le factories, et les actions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    //action
    public function executeContactSend(sfWebRequest $request, sfForm $form){
     
        $this->getUser()->setFlash('erreur', 'Echec de l’envoi du mail.');
     
        $data = $request->getParameter($form->getName());
        $nom = $data['prenom'].' '.$data['nom'];
        $objet = '[SITE] ['.$data['sujet'].'] '.$data['titre']; 
     
        $mail = Swift_Message::newInstance()
     
        ->setCharset('utf-8')
        ->setContentType('text/html')
     
        ->setTo('postmaster@star-graffic.com')
     
        ->setFrom($data['mail'], $nom)
        ->setReplyTo($data['mail'], $nom)
        ->setSubject($objet)
        ->setBody($this->getPartial('partials/mail', array('data' => $data)));
     
        $this->getMailer()->send($mail);
     
     
        }
    factories
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
      mailer:
        class: sfMailer
        param:
          logging:           %SF_LOGGING_ENABLED%
          charset:           %SF_CHARSET%
          delivery_strategy: realtime
          transport:
            class: Swift_MailTransport
            param:
              host:       ns0.ovh.net 
              port:       587
              #encryption: ~
              username:   postmaster@star-graffic.com
              password:   t1o2m3

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

Discussions similaires

  1. Problème formulaire Email
    Par reg64 dans le forum Langage
    Réponses: 4
    Dernier message: 28/12/2006, 01h28
  2. Post formulaire et action
    Par Maria1505 dans le forum Langage
    Réponses: 5
    Dernier message: 11/12/2006, 20h41
  3. [Mail] Formulaire email dans un Email ( Emailing )
    Par Partner dans le forum Langage
    Réponses: 2
    Dernier message: 03/10/2006, 12h29
  4. Validation de formulaire et action
    Par Jean73 dans le forum Langage
    Réponses: 4
    Dernier message: 29/03/2006, 10h53
  5. Formulaire multi action
    Par zooloo75 dans le forum Langage
    Réponses: 4
    Dernier message: 06/01/2006, 12h22

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