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

Langage PHP Discussion :

envoi d'un mail par formulaire


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut envoi d'un mail par formulaire
    Bonjour à tous,

    J'ai un fichier contact.php, qui traite et m'envoie un mail recapitulatif a chaque fois que le formulaire et utilisé.

    Le problème est que je reçois le mail, mais les champs sont vides.
    Savez vous d'où cela peut venir ?

    2eme question. Comment dois-je faire pour mettre un lien vers une page html plutot que " Merci d'avoir complété ce formulaire.... "


    Merci pour votre aide.

    Voici le code :

    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
    <?php
     
    /* Subject and Email variables */
     
    	$emailSubject = 'Formulaire Contact TSR';
    	$webMaster = "xx@xx.com,yy@xx.com";
     
    /* Gathering Data variables */
     
    	$nomField = $_POST['nom'];
    	$prenomField = $_POST['prenom'];	
    	$adresseField = $_POST['adresse'];	
    	$cpField = $_POST['cp'];	
    	$villeField = $_POST['ville'];	
    	$telephoneField = $_POST['telephone'];
    	$emailField = $_POST['email'];
    	$deuxRField = $_POST['deuxR'];
    	$typField = $_POST['typ'];
    	$renseignementField = $_POST['renseignement'];
     
    	$body = <<<EOD
    <br><hr><br>
    Nom : $nomField <br>
    Prenom : $prenomField <br>
    Adresse : $adresseField <br>
    CodePostal : $cpField <br>
    Ville : $villeField <br>
    Telephone : $telephone <br>
    Email : $emailField <br>
    Quel deux roues  : $deuxRField <br>
    Type de Renseignement : $typField <br>
    Renseignements désirés : $renseignementField <br>
    EOD;
     
    	$headers = "From: $emailField\r\n";
    	$headers .= "Content-type: text/html\r\n";
    	$success = mail($webMaster, $emailSubject, $body, $headers);
     
    /* Results rendered as HTML */
     
    	$theResults = <<<EOD
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>TSR - Merci</title>
    </head>
    
    <body>
    <table width="100%" border="0">
      <tr>
        <th scope="col">Merci d avoir utilisé ce formulaire. Nous vous répondrons dans les plus brefs délais</th>
      </tr>
    </table>
    </body>
    </html>
    EOD;
    echo "$theResults";
     
     
    ?>
    2eme question. Comment dois-je faire pour mettre un lien vers une page html plutot que " Merci d'avoir complété ce formulaire.... "

    Puis-je remplacé le code suivant par celui de ma page avec le lien vers le CSS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>TSR - Merci</title>
    </head>
     
    <body>
    <table width="100%" border="0">
      <tr>
        <th scope="col">Merci d avoir utilisé ce formulaire. Nous vous répondrons dans les plus brefs délais</th>
      </tr>
    </table>
    </body>
    </html>

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bonjour

    Pour mettre un lien, tout ce que tu as à faire c'est d'écrire ce lien

    Pour ton mail, as-tu essayé d'afficher le contenu du mail dans la page ? histoire de voir si c'est rempli ? et sinon il faudrait le code du formulaire.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par Celira Voir le message
    Bonjour

    Pour mettre un lien, tout ce que tu as à faire c'est d'écrire ce lien

    Pour ton mail, as-tu essayé d'afficher le contenu du mail dans la page ? histoire de voir si c'est rempli ? et sinon il faudrait le code du formulaire.
    Non je ne veux pas mettre un lien, je voudrais une redirection vers une page web, pour que quand l'utilisateur valide son formulaire il s'affiche une page avec le design du site et non une page blanche.

    Quand tu dis qu'il faudrait le code du formulaire, c'est le code HTML de ma page contact ?

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pour ta redirection, il faut que tu utilises header
    Comment faire une redirection

    Et pour ton formulaire, ben oui, le code du formulaire qui envoie le mail...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut
    Voici le code HTML de mon "div content" ...

    Code html : 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
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
     
      <div id="content">
       	  <h1>Contact</h1>
       	  <form name="form1" method="post" action="contact.php">
            <fieldset>
            <legend>Demande de renseignements</legend>
            <table width="100%" border="0" id="formTable">
     
              <tr>
                <td>&nbsp;</td>
     
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td width="26%"><span class="Style9">
                  <label for="label">Votre nom :</label>
                  <label for="label"></label>
                </span></td>
                <td width="74%"><input type="text" name="nom" id="nom" accesskey="n" tabindex="10"></td>
     
              </tr>
              <tr>
                <td><span class="Style9">
                  <label for="label">Votre prénom : </label>
                </span></td>
                <td><input name="prenom" type="text" id="prenom" accesskey="p" tabindex="20"></td>
              </tr>
              <tr>
     
                <td><span class="Style9">
                  <label for="label">Adresse : </label>
                </span></td>
                <td><input name="adresse" type="text" id="adresse" accesskey="a" tabindex="30"></td>
              </tr>
              <tr>
                <td><span class="Style9">
                  <label for="label">Code Postal : </label>
     
                </span></td>
                <td><input name="cp" type="text" id="cp" accesskey="c" tabindex="40"></td>
              </tr>
              <tr>
        <td><span class="Style9">
                  <label for="label"></label>
        </span>
          <label for="label"><span class="Style9">Ville : </span></label></td><td><input name="ville" type="text" id="ville" accesskey="v" tabindex="50"></td>
     
              </tr>
              <tr>
        <td><span class="Style9">
                  <label for="label"></label>
                  <label for="label">Téléphone :</label>
                  <label for="label"></label>
        </span></td>
                <td><input type="text" name="telephone" id="telephone" accesskey="t" tabindex="60">
     
                  <span class="textfieldInvalidFormatMsg">Format non valide.</span></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td><span class="Style9">
     
                  <label for="label">Email :</label>
                </span></td>
                <td><span id="sprytextfield1">
                  <input type="text" name="email" id="email" accesskey="e" tabindex="70">
                <span class="textfieldInvalidFormatMsg">Merci de saisir une adresse électronique correcte</span></span></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
     
                <td><p class="Style9">
                  <label></label>
    <br>
                </p></td>
              </tr>
              <tr>
                <td><span class="Style9">Votre deux roues : </span> </td>
                <td><span class="Style9">
     
                  <label>
                  <input type="radio" name="deuxR" value="Scooter" id="Systeme d'exploitation_0" accesskey="9" tabindex="80"/> 
                  Scooter
    </label>
                  <br>
                  <label>
                  <input type="radio" name="deuxR" value="Mecaboite" id="Systeme d'exploitation_1" accesskey="2" tabindex="90"/> 
                  Mécaboite
    </label>
                  <br>
                  <label>
     
                  <input type="radio" name="2R" value="Autres" id="Systeme d'exploitation_2" accesskey="x" tabindex="100"/> 
                  Autres
    </label><br>
                  <label></label>
                </span></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td><p class="Style9">
                  <label></label>
     
    <br>
                </p></td>
              </tr>
              <tr>
                <td><span class="Style9">Type de renseignements :</span></td>
                <td><span class="Style9">
                  <label>
                  <input type="radio" name="typ" value="Preparation" id="Type ordinateur_0" accesskey="130" tabindex="b"/> 
                  Préparation
     
    </label><br>
                  <label>
                  <input type="radio" name="typ" value="Competition" id="Type ordinateur_1" accesskey="140" tabindex="p"> 
                  Compétition
    </label>
                </span></td>
              </tr>
              <tr>
                <td><span class="Style9">
                  <label for="label"></label>
     
    </span></td>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td><span class="Style9">
                  <label for="label">Renseignements :</label>
                </span></td>
                <td><span class="Style9">
                  <textarea name="renseignement" id="renseignement" cols="45" rows="5" accesskey="r" tabindex="150"></textarea>
     
                </span></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td><input type="submit" name="Envoyer" id="Envoyer" value="Envoyer à T.S.R." accesskey="e" tabindex="160">
     
                  <input type="reset" name="Effacer" id="Effacer" value="Effacer le formulaire" accesskey="e" tabindex="160"></td>
              </tr>
                    </table>
            </fieldset>
        </form>
        <h2 align="justify">&nbsp;</h2>
    </div>
    <div id="footer" style="clear:both">
      <p>
        <!-- #BeginDate format:Fr1m -->26/05/09  22:17<!-- #EndDate -->
     
      </p>
      <p>© 2009 </p>
    </div>
    </div>
     
    </body>
    </html>

    Merci pour votre aide !

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je suppose que tu remplis bien les champs avant de cliquer sur submit et que tu n'essayes pas de poster un formulaire vide...
    Essaye d 'ajouter un var_dump en début de la page de traitement, histoire de savoir ce qui est réellement transmis...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<pre>'; var_dump($_POST);echo '</pre>';
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut
    Maintenant il marche, sans avoir utilisé ton code var dump.

    J'ai enlevé une adresse mail dans le champ $webMaster.

    Comment dois-je faire, donc pour mettre 2 adresses en destinataire ?

    J'avais utilisé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $webMaster = "xx@xx.com,yy@xx.com";
    mais apparement ça ne doit pas etre valide, puisque je ne reçois aucun mail avec cette syntaxe .

    Merci

  8. #8
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    avec un espace entre les deux ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $webMaster = "xx@xx.com, yy@xx.com";
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut
    J'ai eassayé avec la virgule + espace entre les deux adresses. ça marche mais je reçois les champs du mail vides, et lorsque j'ajoute la ligne var_dump, j'ai bien ceci sur le site, mais aucun mail n'arrive :

    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
    array(11) {
      ["nom"]=>
      string(4) "test"
      ["prenom"]=>
      string(4) "test"
      ["adresse"]=>
      string(4) "test"
      ["cp"]=>
      string(4) "test"
      ["ville"]=>
      string(4) "test"
      ["telephone"]=>
      string(4) "test"
      ["email"]=>
      string(14) "test@test.test"
      ["deuxR"]=>
      string(7) "Scooter"
      ["typ"]=>
      string(11) "Preparation"
      ["renseignement"]=>
      string(46) "test avec virgule pour séparer, plus var dump"
      ["Envoyer"]=>
      string(17) "Envoyer à T.S.R."
    }
    Merci d avoir utilisé ce formulaire. Nous vous répondrons dans les plus brefs délais

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut
    j'ai réussi pour la syntaxe du $webMaster...

    Mais par contre, le fait que je mette un @ dans mon email, fait que je ne reçois pas le message.

    si je ne met pas de @, je reçois le mail.

    Bizarre ...

    Avez vous deja eu ça ?

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut Probleme apprarement résolu
    Problème résolu

    Je ne sais pas pourquoi et comment.

    Peut être un bug !

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

Discussions similaires

  1. [Spip] [Spip 3.0.16] Envoi de mail par formulaire de contact
    Par Afterprorichie dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 16/06/2014, 19h15
  2. [ZF 1.11] [Zend 1.11.11]Envoi de Mail par formulaire
    Par darklulu dans le forum Zend Framework
    Réponses: 0
    Dernier message: 19/09/2012, 18h07
  3. Envoi d'un e-mail par formulaire
    Par mariepierre dans le forum Langage
    Réponses: 55
    Dernier message: 25/06/2008, 21h23
  4. envoi de mail par formulaire
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 05/03/2007, 18h49
  5. [VB6] Envoi d'un mail par clique sur un mot
    Par batmat86 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/03/2006, 12h31

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