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

JavaScript Discussion :

envoyer formulaire sous forme de mail


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de alicia26
    Inscrit en
    Avril 2007
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 321
    Points : 130
    Points
    130
    Par défaut envoyer formulaire sous forme de mail
    bonjour à tous,
    avec ce code,j'aimerai envoyer par mail,les données du formulaire.
    Tout à l'air correct,mais je ne reçois aucun mail dans ma boîte.
    Un coup de main,s'il vous plait!
    Merci.
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Document sans titre</title>
     
    <SCRIPT type=text/javascript>
    function verif_champs()
    {
    	if(document.forml.nom.value == "")
    	{
    		alert("Veuillez entrer votre nom SVP");
    		document.forml.nom.focus();
    		return false;
    	}
    	if(document.forml.prenom.value == "")
    	{
    		alert("Veuillez entrer votre prénom SVP");
    		document.forml.prenom.focus();
    		return false;
    	}
     
     
     
    }
    </SCRIPT>
     
    </head>
     
    <body>
     
      <div align="right">
        <br>
     
        <br>
      &nbsp; </div>
      <table width="622" cellpadding="0" cellspacing="0" >
      <tr>
    	<td>      <form action="mailto:monadresse@mail.com?subject=TEST" method="post" name="forml" id="forml" onsubmit="return verif_champs()">
                          <table width="500" border="1" align="center" cellpadding="0" cellspacing="1" bordercolor="#EFBC6B" class="textt">
                            <tr>
                              <td valign="top"><table width="480" border="0" align="center" cellpadding="0" cellspacing="0" >
                                <tbody>
                                  <tr>
                                    <td width="36%" height="20" align="middle" valign="middle"><div align="left">
     
    								 Noms :</div></td>
                                    <td height="20" colspan="2" align="middle" valign="middle"><div align="left">
                                      <input id="nom"  class="formOrange" maxlength="30" size="30" name="nom" />
                                  *
     
    							  </div></td>
                                  </tr>
     
    							  <tr>
                                    <td width="36%" height="20" align="middle" valign="middle"><div align="left">
    								Pr&eacute;nom
    								:
    								</div></td>
                                    <td height="20" colspan="2" align="middle" valign="middle"><div align="left">
                                      <input id="prenom"  class="formOrange"
                maxlength="30" size="30" name="prenom" />
    								*
    								</div></td>
                                  </tr>
     
                                  <tr>
                                    <td align="middle" valign="top">&nbsp;</td>
                                    <td width="21%" align="middle" valign="top"><div align="center"><br />
                                      <input
     type="reset" value="Effacer" name="Reset" />
                                    </div></td>
                                    <td width="43%" align="middle" valign="top"><div align="left"><br />
                                        <input type="hidden" name="action" value="submitted" />
                                        <input type="submit" value="Envoyer" name="Submit2" />
                                    </div></td>
                                  </tr>
     
                                  <tr>
                                    <td colspan="3" valign="top"></td>
                                  </tr>
                                  <tr>
                                    <td colspan="3" valign="top"><br />
                                      Les champs suivis d'une <span class="Style26">*</span> sont obligatoires</td>
                                  </tr>
                                </tbody>
                              </table>
    </tr>
                          </table>
                        </form>	         </td>
    	</tr>
      </table>
     
    </body>
    </html>

  2. #2
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    salut,
    il me semble que quand tu mets mailto dans l'action de ton formulaire, tu charges le client mail de l'utilisateur d'envoyer ce mail.
    ce n'est pas très recommandé pour diverses raisons (tous les utilisateurs n'ont pas de client mail, possibilités de changer des infos, ...)

    pour envoyer ton mail tu peux faire pointer ton formulaire sur une page php qui s'en chargera.

  3. #3
    Membre habitué Avatar de alicia26
    Inscrit en
    Avril 2007
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 321
    Points : 130
    Points
    130
    Par défaut
    Merci pour ta réponse.
    si j'ai bien compris,j'ai deux pages
    form.php
    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
     <form action="envoi.php" method="post" name="forml" id="forml" onsubmit="return verif_champs()">
                          <table width="500" border="1" align="center" cellpadding="0" cellspacing="1" bordercolor="#EFBC6B" class="textt">
                            <tr>
                              <td valign="top"><table width="480" border="0" align="center" cellpadding="0" cellspacing="0" >
                                <tbody>
                                  <tr>
                                    <td width="36%" height="20" align="middle" valign="middle"><div align="left">
     
    								 Noms :</div></td>
                                    <td height="20" colspan="2" align="middle" valign="middle"><div align="left">
                                      <input id="nom"  class="formOrange" maxlength="30" size="30" name="nom" />
                                  *
     
    							  </div></td>
                                  </tr>
     
    							  <tr>
                                    <td width="36%" height="20" align="middle" valign="middle"><div align="left">
    								Pr&eacute;nom
    								:
    								</div></td>
                                    <td height="20" colspan="2" align="middle" valign="middle"><div align="left">
                                      <input id="prenom"  class="formOrange"
                maxlength="30" size="30" name="prenom" />
    								*
    								</div></td>
                                  </tr>
     
                                  <tr>
                                    <td align="middle" valign="top">&nbsp;</td>
                                    <td width="21%" align="middle" valign="top"><div align="center"><br />
                                      <input
     type="reset" value="Effacer" name="Reset" />
                                    </div></td>
                                    <td width="43%" align="middle" valign="top"><div align="left"><br />
                                        <input type="hidden" name="action" value="submitted" />
                                        <input type="submit" value="Envoyer" name="Submit2" />
                                    </div></td>
                                  </tr>
     
                                  <tr>
                                    <td colspan="3" valign="top"></td>
                                  </tr>
                                  <tr>
                                    <td colspan="3" valign="top"><br />
                                      Les champs suivis d'une <span class="Style26">*</span> sont obligatoires</td>
                                  </tr>
                                </tbody>
                              </table>
    </tr>
                          </table>
                        </form>
    et envoi.php
    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
     
    <body>
    <?php
     
    $MailTo = "monmail@mail.com"; //adresse à laquelle sera envoyé le contenu du formulaire
    $MailSubject = "DEMANDE D'INFORMATION "; //texte qui va figurer dans le champ "sujet" du email
     
    /* Les routines suivantes permettent à chacune des variables de prendre la valeur des champs du formulaire et de les stocker ensuite dans la variable globale MailBody qui constituera le corps du message */
     
    $Envoi = 1; //initialisation de la variable envoi à 1
     
    $MailBody .= "nom: ".$_POST[nom]."\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
     
    $MailBody .= "prenom : ".$_POST[prenom]."\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
     
     
    //Envoi du message
     
    if ($Envoi == 1) { //vérification que la variable envoi est bien à 1
    mail($MailTo, $MailSubject, $MailBody); //envoi du message
    echo("<p><font face=verdana size=2>Votre message a bien &eacute;t&eacute; envoy&eacute;.<br>Merci </font>");
     
    ?>
    </body>
    mais malgré çà,toujours rien!

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 57
    Points : 37
    Points
    37
    Par défaut
    Essaie cela et tu verra.je l'ai bricoler a la hâte mais ça devrai marcher:

    $adresse1="monmail@mail.com";
    $subject="Demande d'information";
    $headers='from:"admin"<monmail@mail.com>."\n"';
    $from=
    "Un membre vient de vous contacter sur votre site";

    mail($adresse1,$subject,$from,$headers);
    echo ("<p><font face=verdana size=2>Votre message a bien &eacute;t&eacute; envoy&eacute;.<br>Merci </font>");
    }

  5. #5
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    oui, c'est bien ça il te faut deux pages.

    va voir à cette adresse, il y a un exemple de code php pour envoyer le mail. Recopie le et adapte le, ça devrait marcher.
    http://php.developpez.com/faq/?page=mail#envoi-mail

    pour faire une remarque sur ton code, tu mets toi même la variable $envoi à 1 et ensuite tu testes si elle vaut bien 1 ($envoi == 1) mais cette condition sera toujours vérifiée. Un test plus utile serait sur la fonction mail :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ( mail($MailTo, $MailSubject, $MailBody) ){ //envoi du message
    echo("<p><font face=verdana size=2>Votre message a bien &eacute;t&eacute; envoy&eacute;.<br>Merci </font>");
    }
    else{echo 'echec';}

  6. #6
    Membre habitué Avatar de alicia26
    Inscrit en
    Avril 2007
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 321
    Points : 130
    Points
    130
    Par défaut
    salut tout le monde!
    j'ai adapté,mais rien ne passe,je reçois tout simplement la phrase:
    "mail envoyé" mais rien dans ma boite.

  7. #7
    Membre habitué Avatar de alicia26
    Inscrit en
    Avril 2007
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 321
    Points : 130
    Points
    130
    Par défaut
    les bouts de code réadaptés!
    form.html
    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
    <table width="500" border="0" cellspacing="0" cellpadding="0">
    <form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire">
    <tr>                
    <td colspan="3">Envoyer un message</td>
    </tr>
    <tr>
    <td><div align="right">Votre nom</div></td>
    <td colspan="2"><input type="text" name="nom" size="45" maxlength="100"></td>
    </tr>
    <tr>                
    <td width="17%"><div align="right">Votre mail</div></td>
    <td colspan="2"><input type="text" name="email" size="45" maxlength="100"></td>
    </tr>
    <tr>                
    <td><div align="right">Sujet :</div></td>
    <td colspan="2"><input type="text" name="objet" size="45" maxlength="120"></td>
    </tr>
    <tr>                
    <td><div align="right">Message :</div></td>
    <td colspan="2"><textarea name="message" cols="50" rows="10"></textarea></td>
    </tr>
    <tr>                
    <td></td>
    <td width="42%"><center><input type="reset" name="Submit" value="Réinitialiser le formulaire"></center></td>
    <td width="41%"><center><input type="submit" name="Submit" value="Envoyer"></center></td>
    </tr>
    </form>
    </table>
    envoi.php
    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
    <?php 
    $nom=$_POST[nom]; 
    $email=$_POST[email]; 
    $objet=$_POST[objet]; 
    $message=$_POST[message]; 
     
    /////voici la version Mine 
    $headers = "MIME-Version: 1.0\r\n"; 
     
    //////ici on détermine le mail en format texte 
    $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 
     
    ////ici on détermine l'expediteur et l'adresse de réponse 
    $headers .= "From: $nom <$email>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; 
     
    $subject="$objet"; 
    $destinataire="monmail@mail.com"; 
    $body="$message"; 
    if (mail($destinataire,$subject,$body,$headers)) { 
    echo "Votre mail a été envoyé"; 
    } else { 
    echo "Une erreur s'est produite"; 
    } 
    ?>
    un coup de main,svp!!!

  8. #8
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    salut,
    Une question, est ce que tu travailles en local? ou si tu es sur un serveur est ce qu'il est configuré pour envoyer des mails?

  9. #9
    Membre habitué Avatar de alicia26
    Inscrit en
    Avril 2007
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 321
    Points : 130
    Points
    130
    Par défaut
    je teste mes fichiers de façon provisoire sur l'hébergeur gratuit de ifrance.com.

  10. #10
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    il faut peut être te renseigner comment ça se passe chez eux. Parfois chez les hébergeurs, il y a des règles qui régissent l'utilisation de la fonction mail. Enfin moi j'ai un compte chez free et c'est comme ça.

  11. #11
    Membre habitué Avatar de alicia26
    Inscrit en
    Avril 2007
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 321
    Points : 130
    Points
    130
    Par défaut
    salut à tous!
    merci,j'ai pu le tester,çà marche correctement.

  12. #12
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    quel était le problème?

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

Discussions similaires

  1. Formulaire sous forme de tableau
    Par seaosiris dans le forum IHM
    Réponses: 6
    Dernier message: 14/06/2007, 08h45
  2. Réponses: 6
    Dernier message: 16/03/2007, 11h29
  3. Réponses: 2
    Dernier message: 20/07/2006, 19h40
  4. Formulaire sous forme de page
    Par guimauve dans le forum Access
    Réponses: 6
    Dernier message: 07/07/2006, 11h15
  5. [Formulaire] sous-form dépendant de conditions
    Par guy2004 dans le forum IHM
    Réponses: 11
    Dernier message: 02/04/2006, 10h42

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