Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1518 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  formulaire php: mail ok mais vide

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

formulaire php: mail ok mais vide

n°2157952
ludo00000
Posté le 24-09-2012 à 21:38:16  profilanswer
 

Bonjour,
 
voilà, j'espère que vous pourrez m'aider car j'ai un problème avec mon formulaire. Comme je suis un newbie, désolé si les infos fournies ne sont pas suffisante que pour analyser le problème... En fait, la page de remerciement s'affiche lorsque je clique sur le bouton valider, je reçois bien le mail, mails les données indiquées dans le champs du formulaire n'apparaissent pas dans le mail reçu.
 
voici le script:  
 
page contact.php:
 
 
   <div class="header-breadcrumbs">
        <ul>
             <li><a href="index.htm">Home</a></li>
          <li><a href="contact.htm">Contact</a></li>
        </ul>
 
        <!-- Search form -->                  
        <div class="searchform">
          <form action="#" method="get" class="form">
            <fieldset>
              <input value=" Search..." name="field" class="field" />
              <input type="submit" value="GO!" name="button" class="button" />
            </fieldset>
          </form>
        </div>
      </div>
    </div>
 
 
<?php
$TO = "info@xxx.xxx";
 
$h  = "From: " . $TO;
 
$message = "";
 
while (list($key, $val) = each($HTTP_POST_VARS)) {
  $message .= "$key : $val\n";
}
 
mail($TO, $subject, $message, $h);
 
Header("Location: http://xxx.xxx/merci" );
 
?>
 
 
<form method="POST" action="formmail.php" >
<input type="hidden" name="subject" value="formmail">
 
<table width="360">
<tr><td width="115">Votre Nom:</td>
    <td width="233"><input type="text" name="realname" size="30" /></td>
</tr>
<tr><td>Votre Email:</td>
    <td><input type="text" name="email" size="30"></td></tr>
    <tr><td>Votre tél:</td>
    <td><input type="text" name="tel" size="30"></td></tr>
<tr><td>Sujet:</td>
    <td><input type="text" name="title" size="30"></td></tr>
<tr><td colspan="2">Commentaires:<br>
  <textarea COLS="50" ROWS="6" name="comments"></textarea>
</td></tr>
</table>
<br> <input type="submit" value="Envoyer"> -
     <input type="reset" value="Annuler">
</form>
  <div align="center"></div>
  <div align="center"></div>
   </form>
 
 
  <div align="center"></div>
  <div align="center"></div>
    </form>
 
 
Page form.php:
 
 
<?php
$TO = "xxx.xxx";
 
$h  = "From: " . $TO;
 
$message = "";
 
while (list($key, $val) = each($HTTP_POST_VARS)) {
  $message .= "$key : $val\n";
}
 
mail($TO, $subject, $message, $h);
 
Header("Location: http://www.xxx.xxx/merci" );
 
?>
 
 
 
 <div class="header-breadcrumbs">
        <ul>
             <li><a href="index.htm">Home</a></li>
          <li><a href="contact.htm">Contact</a></li>
        </ul>
 
        <!-- Search form -->                  
        <div class="searchform">
          <form action="#" method="get" class="form">
            <fieldset>
              <input value=" Search..." name="field" class="field" />
 
              <input type="submit" value="GO!" name="button" class="button" />
            </fieldset>
          </form>
        </div>
      </div>
    </div>
 
 
 
 <div class="main-content">
         
        <!-- Pagetitle -->
        <h1 class="pagetitle">CONTACT</h1>
 
        <!-- Content unit - One column -->
        <div class="column1-unit">
           
        </div>          
        <h1 class="block">Merci de nous avoir contact&eacute; </h1>
        <div class="column1-unit">
          <div class="contactform">
    <form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
  <div align="center"></div>
  <div align="center">
    <p>Votre demande &agrave; bien &eacute;t&eacute; envoy&eacute;e.</p>
    <p>Nous ferons le n&eacute;cessaire pour la traiter dans les plus brefs d&eacute;lais.  </p>
    </div>
    </form>
 
 
          </div>
 
 
 
Merci pour votre aide

mood
Publicité
Posté le 24-09-2012 à 21:38:16  profilanswer
 

n°2158499
x1fr
Posté le 28-09-2012 à 14:34:22  profilanswer
 

Essaye d'utiliser $_POST à la place de $HTTP_POST_VARS

n°2158647
aideinfo
Posté le 30-09-2012 à 19:32:34  profilanswer
 

Il y a bcp de choses à revoir.
 
Déjà, ta page de contact contient ça : <form method="POST" action="formmail.php" >  
 
Ta page d'envoi s'appelle form.php.....  :??:  
 
Dans contact.php, tu nous mets ceci :  
 

Code :
  1. <?php
  2. $TO = "info@xxx.xxx";
  3. $h  = "From: " . $TO;
  4. $message = "";
  5. while (list($key, $val) = each($HTTP_POST_VARS)) {
  6.   $message .= "$key : $val\n";
  7. }
  8. mail($TO, $subject, $message, $h);
  9. Header("Location: http://xxx.xxx/merci" );
  10. ?>


 
Quel intérêt ? Ce code est déjà dans form.php. Là, tu envoies dès chargement de la page un mail sans contenu, donc probablement la cause.
Avant d'utiliser un code comme ça, il faut que tu mettes des conditions. Dans le cas présent, il faudrait que tu vérifies que la globale $_POST n'est pas vide pour que ce code ne soit exécuté qu'après validation du formulaire, et surtout vérifier que tes champs nécessaires sont bien remplis.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°2158657
ludo00000
Posté le 30-09-2012 à 21:56:20  profilanswer
 

Voilà, j'ai supprimé le code redondant à la page contact. (il s'agit d'une page contact.htm et non contact.php).
 
concernant formmail.php, il s'agit d'une erreur plus haut, le fichier form.php n'existe pas.
 
Ces modifs ne résolvent pas le problème. Le mail est toujours reçu, mais aussi toujours vide.  
 
J'ai également tenté de remplacer $_POST à la place de $HTTP_POST_VARS mais dans ce cas, lorsque je clique sur envoyer, il s'affiche une page blanche à l'écran et aucun mail n'est reçu.
 
Pour éviter les complications, il n'y aurait pas un code à "copier-coller" pour remplacer celui présent?
 
Merci...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  formulaire php: mail ok mais vide

 

Sujets relatifs
Envoi de mail depuis PowerpointEnvoi mail avec destinataires et pieces jointes différentes
Formulaire de contact en html statique + javascriptEnvoyer fichier excel implémenté par mail
php : fonction mail() et Cc:Formulaire php et mysql
Inclure du PHP dans un mail en html[Shell Unix] envoi de mail : texte en PJ au lieu du corps.
???? FORMULAIRE MAIL VIDE ????Formulaire a envoyer / Mail vide / html + php
Plus de sujets relatifs à : formulaire php: mail ok mais vide


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR