Bug envoi données d'un formulaire html php

Fermé
belagom Messages postés 4 Date d'inscription dimanche 27 septembre 2015 Statut Membre Dernière intervention 14 juillet 2016 - 14 juil. 2016 à 16:59
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 15 juil. 2016 à 19:27
Bonjour,

J'ai utilisé un formulaire (via CodePen) sur mon site et j'ignore comment récupérer les données qu'il génère.
J'ai lu sur le forum qu'il me fallait insérer les lignes suivantes dans mon fichier formulaire.html :
<form id="msform" method=POST action=formmail.php>
<input type=hidden name=subject value=formmail>


et créer un fichier formmail.php contenant le code suivant :
<?php
$TO = "monadresse@gmail.com";

$h = "From: " . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: uneadressederedirection.htmll");

?>


Mais je n'ai toujours reçu aucun mail contenant les données rentrées par les utilisateurs du formulaire.
Pouvez-vous me venir en aide?

Merci par avance!


Pour info le HTML source de mon formulaire téléchargé sur CodePen :
<!-- multistep form -->

      • <form id="msform" method=POST action=formmail.php><input type=hidden name=subject value=formmail>*** <!-- progressbar --> <ul id="progressbar"> <li class="active">Account Setup</li> <li>Social Profiles</li> <li>Personal Details</li> </ul> <!-- fieldsets --> <fieldset> <h2 class="fs-title">Create your account</h2> <h3 class="fs-subtitle">This is step 1</h3> <input type="text" name="email" placeholder="Email" /> <input type="password" name="pass" placeholder="Password" /> <input type="password" name="cpass" placeholder="Confirm Password" /> <input type="button" name="next" class="next action-button" value="Next" /> </fieldset> <fieldset> <h2 class="fs-title">Social Profiles</h2> <h3 class="fs-subtitle">Your presence on the social network</h3> <input type="text" name="twitter" placeholder="Twitter" /> <input type="text" name="facebook" placeholder="Facebook" /> <input type="text" name="gplus" placeholder="Google Plus" /> <input type="button" name="previous" class="previous action-button" value="Previous" /> <input type="button" name="next" class="next action-button" value="Next" /> </fieldset> <fieldset> <h2 class="fs-title">Personal Details</h2> <h3 class="fs-subtitle">We will never sell it</h3> <input type="text" name="fname" placeholder="First Name" /> <input type="text" name="lname" placeholder="Last Name" /> <input type="text" name="phone" placeholder="Phone" /> <textarea name="address" placeholder="Address"></textarea> <input type="button" name="previous" class="previous action-button" value="Previous" /> <input type="submit" name="submit" class="submit action-button" value="Submit" /> </fieldset></form>
A voir également:

1 réponse

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
15 juil. 2016 à 19:27
'lut
Le code du formulaire est peu lisible, mais du moment qu'il pointe bien sur ta page PHP ça semble correct.

Par contre coté PHP je vois ça:
$HTTP_POST_VARS
. PHP 4.1 c'est mort il y a très longtemps. À moins que tu n'aies une ancienne config, il faut utiliser PHP5. Par ailleurs, les noms de fonctions sont sensibles à la casse, et
header
s'écrit en minuscules.
Voici une version PHP5, qui devrait marcher (pour peu que tu aies correctement mis en place la config SMTP):
<?php
$TO = "monadresse@gmail.com";

$h = "From: " . $TO;

$message = "";

foreach ($_POST as $key => $val) {
  $message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

header("Location: uneadressederedirection.html");
?>
0