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

HTML Discussion :

email avec le contenu d'une div


Sujet :

HTML

  1. #1
    Invité
    Invité(e)
    Par défaut email avec le contenu d'une div
    Bonjour, je souhaiterais savoir si quelqu'un pourrait me conseiller sur comment faire un bouton qui envoie par mail le contenu d'une div.
    Pour mon cas j'aimerais envoyer par mail le contenu de mon panier qui est fait en JavaScript sur une adresse mail quand le client a fini de faire la commande.
    je ne fait pas de pub mais je peut montré l'avancé de mon projet via ce lien.

    Donc remplacer le bouton imprimer, par un bouton qui envoie automatiquement un mail a une adresse défini..

    Merci beaucoup.

  2. #2
    Membre expert
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 704
    Points : 3 861
    Points
    3 861
    Billets dans le blog
    6
    Par défaut
    Il faudrait que la div#droite (avec le total à imprimer) devienne un formulaire — donc quelque chose comme form#droite (avec le total à envoyer à "contact@email.com" grâce au bouton "send").

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form method="post" action="mailto:contact@email.com" id="droite">
             ...
            <p><input type="submit" value="Send"></p>
    </form>
    Manque de pot : j'imagine qu'il faut faire un vrai formulaire, pas une succession de <div>…

  3. #3
    Invité
    Invité(e)
    Par défaut
    malheureusement ne marche pas

    tu aurais pas une autre solution que je pourrais essayer ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <form method="post" action="mailto:toto.tata@sfr.fr" id="droite">
     
            <div class="simpleCart_items" ></div> 
     
            ----------------------------- <br>
            Total: <span class="simpleCart_total"></span> <br>
           <p><input type="submit" value="Send"></p>
    </form>
    il me faudrait envoyer par mail donc toute cette parti ...

    merci

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 741
    Points : 355
    Points
    355
    Par défaut
    je crois qu'il faut travailler avec php.

  5. #5
    Invité
    Invité(e)
    Par défaut
    j'utilise le php pour la liste des produits...

    tu pourrait avancé un peu plus sur quel fonction de php et comment faire ?

    merci beaucoup

  6. #6
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    une simple fonction mail() avec un header html. soit par formulaire tu passe le contenu de ton div à une page php soit tu utilise de l'ajax pour récupérer le contenu, le transmettre à ton script php qui effectuera l'envoi du mail.

  7. #7
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 741
    Points : 355
    Points
    355
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form method="post" action="envoyer.php" id="droite">
     
            <textarea name="message">le message à envoyer</textareat> 
           <p><input type="submit" value="Send"></p>
    </form>
    quand tu clique sur le bouton send, il t’envoie vers le fichier envoyer.php
    contenu du fichier envoyer.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $message = $_POST["message"]; // message est le nom du champ textarea, on récupère le contenu dans la bariable $message
    $destinataire = "personne@yahoo.com";
    $objet = «objet du message !» ;
    if ( mail($destinataire, $objet, $message) ) echo "Envoi du mail réussi.";
    else echo "Echec de l’envoi du mail.";

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour, merci pour l'aide, mais dans la balise <textarea> le contenu qui est générer par du JavaScript pour la class="simpleCart_items" ne s'affiche pas. (j'ai peu être pas fait comme il faut faire )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <textarea name="message" class="simpleCart_items">
     
    </textarea>
    en plus la balise <textarea> sert a rentré du texte, moi j'aimerais que le contenu soit auto-incrémenté par le contenu de la class="simpleCart_items".

    merci beaucoup pour l'aide, qui quoi qu'il arrive m'aide pour mon futur en programmation, en espèrent tout de même trouver une solution

  9. #9
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    tu déclare un formulaire autour de ton bouton "imprimer" avec un input type hidden de la via le onclic tu va pouvoir en javascript copier le contenu de div id='droite' dans ta variable hidden ton bouton . de tu suis les préco indiqué juste avant à savoir un script php qui réceptionne ta variable et qui envoi l'email.

    y a d'autre solution mais cela implique de revoir toute ta structure et ton fonctionnement.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Merci beaucoup pour l'information.
    déjà déclarer un formulaire consiste en quoi ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input name="button" type="hidden" class="boutons" onClick="" value="mail">
    j'ai bien le bouton de type hidden mais dans le onclick je doit mettre quoi ?

    ensuite tu me dit de faire comme donné plus bas, hors le bouton a déjà un type submit, comment le type peut être submit et hidden a la fois? (je redit que je suis nul mais j'espère progresser) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form method="post" action="envoyer.php" id="droite">
     
            <textarea name="message">le message à envoyer</textareat> 
           <p><input type="submit" value="Send"></p>
    </form>
    merci beaucoup pour l'aide

  11. #11
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    relis mon commentaire. je ne parle pas d'un type bouton mais d'un type hidden nuance. le bouton à une action hidden et un champ masqué. la déclaration d'un formulaire se fait via les balises <form> ..... ton code ..... </form>

  12. #12
    Invité
    Invité(e)
    Par défaut
    donc si je comprend bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form method="post" action="envoyer.php" id="droite">
     
            <input type="hidden" name="message" class="simpleCart_Items"></textareat> 
           <p><input type="submit" value="Send"></p>
    </form>
    j'ai pas le bouton "send" qui apparais sur la page, mais j'ai l'impression que je me perd...

  13. #13
    Membre émérite
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Points : 2 778
    Points
    2 778
    Par défaut
    Tu ouvres un input, et tu fermes par un textarea (mal orthographié qui plus est) ... Je crois qu'il y a légères confusions

    le contenu qui est générer par du JavaScript pour la class="simpleCart_items"
    Le contenu du <span> est vraiment généré par javascript ? Et non construit par un script php ?

    Je pense que la meilleure solution, si tu passes par mail() de php, est de ne pas envoyer le contenu du span dans un champ hidden via formulaire, mais de reconstruire le contenu à envoyer après le clic sur le bouton "envoyer par mail".

  14. #14
    Invité
    Invité(e)
    Par défaut
    bonjour et encore merci pour répondre a mon problème.
    Je redit que je suis débutant dans le domaine, mais le contenu de la class simpleCart_items ce construit grâce au retour d'une sauvegarde dans un cookie, qui stock des informations style panier (oui mon but principal et bien de faire un panier dont le client doit envoyer par mail pour qu'un devis soit établit avec les frais de transport calculé par le magazin.

    donc comment faire pour envoyer le contenu de ce panier qui est donc générer par du JavaScript dans un mail ?

    je suis complètement perdu

    encore merci pour l'aide

  15. #15
    Membre émérite
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Points : 2 778
    Points
    2 778
    Par défaut
    Une page construite avec du javascript en lisant un cookie ??? Si tu utilises PHP pour générer les pages, pourquoi ne pas le laisser construire la page ??

    Coté php, faut faire un script qui envoie le contenu du cookie par mail.

    Bien sûr c'est un exemple ultra simpliste sans aucun contrôle de sécu ... De plus, dans ton cas, il faudra que tu récupère le mail de l'utilisateur connecté etc

    envoyer.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
    if ($_COOKIE['nom_du_cookie'] && $_POST['envoyer']) {
      // On récupère le contenu
      $message = "Blabla ".$_COOKIE['nom_du_cookie'];
     
      // on envoie par mail
      $to      = 'personne@example.com';
      $subject = 'votre caddie';
      $headers = 'From: webmaster@example.com';
     
      mail($to, $subject, $message, $headers);
    }
    ?>

    Coté HTML
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div class="simpleCart_items" >Le contenu du cookie</div>
    <form method="post" action="envoyer.php">
      <input type="hidden" name="envoyer" value="1" /> 
      <input type="submit" value="Send">
    </form>

  16. #16
    Invité
    Invité(e)
    Par défaut
    J'arrive pas a faire marcher le code, j'ai remplie ce qui manquais mais rien ne ce passe.
    j'ai donc mis comment je les rempli, et j'ai mis une parti du code qui parle du cookie, pour que vous me confirmer que le nom du cookie et bien celui la

    Merci beaucoup
    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
     
    <?php
     
    if ($_COOKIE['simpleCart.storagePrefix'] && $_POST['envoyer']) {
      // On récupère le contenu
      $message = "Blabla ".$_COOKIE['simpleCart.storagePrefix'];
     
      // on envoie par mail
      $to      = 'toto.tata@sfr.fr';
      $subject = 'votre caddie';
      $headers = 'From: webmaster@example.com';
     
      mail($to, $subject, $message, $headers);
    }
    ?>
    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
     
    if( readCookie(simpleCart.storagePrefix + 'simpleCart_' + "chunks") ){
    			var chunkCount = 1*readCookie(simpleCart.storagePrefix + 'simpleCart_' + "chunks"),
    				dataArray = [],
    				dataString = "",
    				data = "",
    				info,
    				newItem,
    				y=0;
    			if(chunkCount>0) {	
    				for( y=0;y<chunkCount;y++){
    					dataArray.push( readCookie( simpleCart.storagePrefix + 'simpleCart_' + (1 + y ) ) );
    				}
     
    				dataString = unescape( dataArray.join("") );
    				data = dataString.split("++");
    			}
    			for(var x=0, xlen=data.length;x<xlen;x++){
     
    				info = data[x].split('||');
    				newItem = new CartItem();
     
    				if( newItem.parseValuesFromArray( info ) ){
    					newItem.checkQuantityAndPrice();
    					/* store the new item in the cart */
    					me.items[newItem.id] = newItem;
    				}
    Merci beaucoup

  17. #17
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    quand tu dis rien ne se passe tu entend quoi par là ? as tu essayé d'envoyer un email simple sans html pour voir si la fonction mail était bien implanter sur ton serveur? de plus il faut modifier le header de ton envoi pour préciser qu'il est en html sinon cela ne risque pas de s'afficher correctement.

  18. #18
    Invité
    Invité(e)
    Par défaut
    salut, les mails marche via ce formulaire basique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    $TO = "adresse@contact.fr";
    $subject = "message client";
    $h = "From: " . $TO;
    $message = "";
    while (list($key, $val) = each($HTTP_POST_VARS)) {
    $message .= "$key : $val\n";
    }
    mail($TO, $subject, $message, $h);
    header("Location:../confirmation mail.html");
    ?>
    hors avec le code donner juste avant quand j’appuie sur seed la page enoyer.php et bien appeler mais un écran blanc apparait et pas de mail reçu.

    J'ai essayer de moi même de modifier le code donner par :

    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
     
    <?php
     
    if ($_COOKIE['simpleCart.storagePrefix'] && $_POST['envoyer']) {
      // On récupère le contenu
      $message = "caddie : ".$_COOKIE['simpleCart.storagePrefix'];
     
      // on envoie par mail
      $to      = 'toto.tata@sfr.fr';
      $subject = 'votre caddie';
      $headers = 'From: toto.tata@sfr.fr';
       while (list($key, $val) = each($HTTP_POST_VARS)) {
    $message .= "$key : $val\n";
    }
      mail($to, $subject, $message, $headers);
      }
      
      header("Location:confirmation mail.html");
     
    ?>
    le chargement de la page confirmation mail.html ce charge bien presque directement comme demander.

    ensuite pour modifier le header, le morceaux rajouter suffit ?

    Merci beaucoup
    Dernière modification par Invité ; 24/04/2012 à 06h48.

  19. #19
    Membre émérite
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Points : 2 778
    Points
    2 778
    Par défaut
    Quand Vil'Coyote parle d'ajouter un header, ce n'ets pas ce type de header.
    En fait, il s'agit d'ajouter une "option" au mail envoyé pour dire au client de messagerie de lire en "HTML" le mail (vu qu'il semble y avoir des balises html dans tes cookies...)

    donc enlève header("Location:../confirmation mail.html");
    et ajoute ça :
    Code php : 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
    <?php
     
    if ($_COOKIE['simpleCart.storagePrefix'] && $_POST['envoyer']) {
      // On récupère le contenu
      $message = "caddie : ".$_COOKIE['simpleCart.storagePrefix'];
     
      // on envoie par mail
      $to      = 'toto.tata@sfr.fr';
      $subject = 'votre caddie';
      $headers = 'From: <a href="mailto:toto.tata@sfr.fr">toto.tata@sfr.fr</a>' . '\r\n';
      $headers .= 'Content-type: text/html; charset=iso-8859-1' . '\r\n';
      while (list($key, $val) = each($HTTP_POST_VARS)) {
        $message .= "$key : $val\n";
      }
      mail($to, $subject, $message, $headers);
    }
    ?>
    Ensuite, si cela affiche une page blanche c'est que $_COOKIE['simpleCart.storagePrefix'] est vide tout simplement. Regarde, via le navigateur, si ce cookie existe au moins et s'il est bien orthographié.

  20. #20
    Invité
    Invité(e)
    Par défaut
    mail reçu en indésirable avec un contenu plutôt bizarre..

    caddie : id~c7||name~Assortiment%3Cspan%20class%3D%22item_value%22%20style%3D%22visibility%3Ahidden%22%3Eboeuf%3C/span%3E||value~boeuf||description~%20Carton%20de%2010%20kg%20%28%u20AC/kg%29||quantity~1||price~11.5 id~c8||name~D%E9tail%3Cspan%20class%3D%22item_value%22%20style%3D%22visibility%3Ahidden%22%3Eboeuf%3C/span%3E||value~boeuf||description~Noix%20%28%u20AC/kg%29||quantity~1||price~16.5envoyer : 1
    j'ai pu voir aussi que le nom du cookie n’était pas le bon...

    Merci pour l'aide le problème avance, il reste donc a faire afficher dans le mail le contenu du panier si possible dans un tableau ou comme afficher dans le panier.

    peut être pour mieux voir le panier que j'ai actuellement sur le site je vous invite a faire un faux panier sur ce lien (je ne fait aucune pub les prix et produits sont qu'une représentation, rien ne ce vend actuellement!)

    ps : je me suis rajouter la ligne : header("Location:confirmation mail.html");
    et le mail passe toujours, je suis fier de moi

    encore MERCI
    Dernière modification par Invité ; 24/04/2012 à 21h03.

Discussions similaires

  1. [HTML 5] Sauver le contenu d'une div avec html5
    Par michel.di dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 22/09/2011, 17h31
  2. Contenu dans une DIV avec scrollbar sous IE7
    Par miltonis dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 23/03/2010, 10h59
  3. actualiser le contenu d'une div
    Par Benjiijneb dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 08/02/2006, 10h17
  4. [CSS] Décalage de contenu dans une div
    Par Onyx91 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 25/01/2006, 15h27
  5. Mysql & mrtg : faire un graphe avec le contenu d'une tab
    Par fouhaa dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 12/08/2005, 12h38

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