Envoi formulaire vers mail en PHP
nicgall
-
nicgall -
nicgall -
Bonjour,
Merci pour les renseignement déja trouver ici, qui m'ont déja beaucoup aider, mais la je suis dans l'impasse..
voila j'ais fais comme expliquer ici 2 fichier: 1 formulaire em html et le fichier formmail em php
en cliquant sur envoyer, le mail est envoyer a mon email, via le php, mais vide !!!!
je n'ais pas vus ce probleme jusqu'a maintenant, voici quelques partie de code:
une petite partie du code formulaire qui se repete une 100/150 fois avec des valeur diferente:
<FORM method=post name=form action=form.php >
<input type=hidden name=subject value=formmail>
<TABLE border=0 cellSpacing=0 cellPadding=0 width="100%" height="100%">
<TBODY>
<TR>
<TD>
<TABLE border=0 cellSpacing=0 cellPadding=0 width=430
align=center>
<TBODY>
<TR>
<TD height=120 align=middle><img src="../../images/embreve.jpg" width="120" height="90"></TD>
<TD height=50> </TD>
<TD>
<TABLE border=0 cellSpacing=0 cellPadding=0 width=275
align=center>
<TBODY>
<TR>
<TD width="78%"><p><FONT color=#000000 size="3"
face=arial><B>Caixa com 16 trufas:</B></FONT></p> </TD>
<TD width="22%" align=middle> </TD></TR>
<TR>
<TD>
<P><FONT style="FONT-SIZE: 11px"
color=#000000 face=arial><B>Caixa
16 degustação:</B></FONT><BR>
<FONT style="FONT-SIZE: 11px"
color=#000000 face=Arial>Caixa de 16 trufas degustação <BR>
<STRONG>R$ 56,00</STRONG></FONT></P>
<P><FONT style="FONT-SIZE: 11px" color=#000000
face=Arial><BR>
</FONT></P></TD>
<TD align=middle><INPUT value=56.00 type=hidden
name=caixadegust16_preco><INPUT
style="BORDER-BOTTOM: #333333 1px solid; BORDER-LEFT: #333333 1px solid; BACKGROUND-COLOR: #ffffff; FONT-FAMILY: arial; COLOR: #000000; FONT-SIZE: 10px; BORDER-TOP: #333333 1px solid; BORDER-RIGHT: #333333 1px solid"
id=caixadegust16
onchange="somar('result_caixadegust16','caixadegust16_preco','caixadegust16');"
value=0 size=4 name=caixadegust16><BR><FONT
style="FONT-SIZE: 11px" color=#000000
face=Arial><STRONG>Total R$ <INPUT
style="BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; FONT-SIZE: 9px; BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid"
value=0,00 size=5 name=result_caixadegust16>
</STRONG></FONT></TD></TR>
et le code du form.php:
<?php
$TO = "mon mail@terra.com.br";
$h = "From: " . $TO;
$subject = "vendes_en_ligne";
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location: http://www.mon site de redirection/index.html");
?>
<body>
La redirection sur la page de remerciment marche bien, et l'email est envoyer, mais sans aucune information.
Y a t'il des code a entrer dans la partie $message = ""; ?
si oui sous quel format e de quelle reference?
Merci d'avance
Merci pour les renseignement déja trouver ici, qui m'ont déja beaucoup aider, mais la je suis dans l'impasse..
voila j'ais fais comme expliquer ici 2 fichier: 1 formulaire em html et le fichier formmail em php
en cliquant sur envoyer, le mail est envoyer a mon email, via le php, mais vide !!!!
je n'ais pas vus ce probleme jusqu'a maintenant, voici quelques partie de code:
une petite partie du code formulaire qui se repete une 100/150 fois avec des valeur diferente:
<FORM method=post name=form action=form.php >
<input type=hidden name=subject value=formmail>
<TABLE border=0 cellSpacing=0 cellPadding=0 width="100%" height="100%">
<TBODY>
<TR>
<TD>
<TABLE border=0 cellSpacing=0 cellPadding=0 width=430
align=center>
<TBODY>
<TR>
<TD height=120 align=middle><img src="../../images/embreve.jpg" width="120" height="90"></TD>
<TD height=50> </TD>
<TD>
<TABLE border=0 cellSpacing=0 cellPadding=0 width=275
align=center>
<TBODY>
<TR>
<TD width="78%"><p><FONT color=#000000 size="3"
face=arial><B>Caixa com 16 trufas:</B></FONT></p> </TD>
<TD width="22%" align=middle> </TD></TR>
<TR>
<TD>
<P><FONT style="FONT-SIZE: 11px"
color=#000000 face=arial><B>Caixa
16 degustação:</B></FONT><BR>
<FONT style="FONT-SIZE: 11px"
color=#000000 face=Arial>Caixa de 16 trufas degustação <BR>
<STRONG>R$ 56,00</STRONG></FONT></P>
<P><FONT style="FONT-SIZE: 11px" color=#000000
face=Arial><BR>
</FONT></P></TD>
<TD align=middle><INPUT value=56.00 type=hidden
name=caixadegust16_preco><INPUT
style="BORDER-BOTTOM: #333333 1px solid; BORDER-LEFT: #333333 1px solid; BACKGROUND-COLOR: #ffffff; FONT-FAMILY: arial; COLOR: #000000; FONT-SIZE: 10px; BORDER-TOP: #333333 1px solid; BORDER-RIGHT: #333333 1px solid"
id=caixadegust16
onchange="somar('result_caixadegust16','caixadegust16_preco','caixadegust16');"
value=0 size=4 name=caixadegust16><BR><FONT
style="FONT-SIZE: 11px" color=#000000
face=Arial><STRONG>Total R$ <INPUT
style="BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; FONT-SIZE: 9px; BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid"
value=0,00 size=5 name=result_caixadegust16>
</STRONG></FONT></TD></TR>
et le code du form.php:
<?php
$TO = "mon mail@terra.com.br";
$h = "From: " . $TO;
$subject = "vendes_en_ligne";
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location: http://www.mon site de redirection/index.html");
?>
<body>
La redirection sur la page de remerciment marche bien, et l'email est envoyer, mais sans aucune information.
Y a t'il des code a entrer dans la partie $message = ""; ?
si oui sous quel format e de quelle reference?
Merci d'avance
A voir également:
- Envoi formulaire vers mail en PHP
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Programmer envoi mail gmail - Guide
- Envoi impossible messenger - Forum Facebook Messenger
- Votre envoi est en cours de transport vers son site de livraison ✓ - Forum Consommation & Internet
2 réponses
Essaye plutot avec ce code, l'avantage c'est que tout est dans une seule page (.php évidemment).
Je t'ai mis quelques commentaires
Je t'ai mis quelques commentaires
<?php
echo "<h3 align='center'>Page Contacts</h3>";
$destinataire = 'ton.email@domaine.com'; // Pour envoyer à plusieurs à la fois, séparer par une virgule
$copie = 'non'; // envoie une copie au visiteur
$form_action = 'index.php?page=contacts'; // Si pas de pseudo frames, laisser vide
// Messages de confirmation du mail
$message_envoye = "<p>Le message suivant a bien été envoyé, nous vous répondrons dans les plus brefs délais.</p>";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Message d'erreur du formulaire
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
function Rec($text) { // sert à nettoyer et enregistrer le texte
$text = trim($text); // supprime les espaces blancs avant et après text
if (1 === get_magic_quotes_gpc()) { // Si get_magic_quotes_gpc == 1 tous les signes ' " \ et NUL sont échapés avec un \
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else {
$stripslashes = create_function('$txt', 'return $txt;');
}
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};
function IsEmail($email) { // Cette fonction sert à vérifier la syntaxe d'un email
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (/*mb_*/eregi($pattern,$email)) ? true : false;
};
$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin
// si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
if (isset($_POST['envoi']))
{
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
$err_formulaire = (IsEmail($email)) ? false : true;
if (($nom != '') && ($prenom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = '<b>From:</b> '.$nom.' '.$prenom.'<'.$email.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = html_entity_decode($message);
$message = str_replace(''',"'",$message);
$message = str_replace('’',"'",$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<h4 style="color:#F00">Succès</h4>'.$message_envoye.'<p><fieldset style="font-size:12px;">'.$headers.'<br><b>To:</b> Support<br><b>Objet:</b> '.$objet.'<br><b>Contenu:</b> '.$message.'</p></fieldset><p><meta http-equiv="refresh" content="10;URL=index.php?page=accueil">Vous allez être redirigé vers l´accueil dans 10 secondes<br /><a href="index.php?page=accueil">Retourner vers l´accueil maintenant</a></p>'."\n";
}
else
{
echo '<h4 style="color:#F00">Erreur</h4>'.$message_non_envoye.'<p><a href="index.php?page=contacts">Réessayer</a></p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide."\n";
$err_formulaire = true;
};
}; // fin du if (!isset($_POST['envoi']))
if (($err_formulaire) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo '<form id="contact" method="post" action="'.$form_action.'">'."\n";
echo ' <fieldset style="text-align:center;"><legend>Vos coordonnées</legend>'."\n";
echo ' <p>'."\n";
echo ' <label for="nom">Nom :</label><br />'."\n";
echo ' <input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" />'."\n";
echo ' </p>'."\n";
echo ' <p>'."\n";
echo ' <label for="prenom">Prénom :</label><br />'."\n";
echo ' <input type="text" id="prenom" name="prenom" value="'.stripslashes($prenom).'" tabindex="2" />'."\n";
echo ' </p>'."\n";
echo ' <p>'."\n";
echo ' <label for="email">Email :</label><br />'."\n";
echo ' <input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="3" />'."\n";
echo ' </p>'."\n";
echo ' </fieldset>'."\n";
echo ' <fieldset style="text-align:center;"><legend>Votre message :</legend>'."\n";
echo ' <p>'."\n";
echo ' <label for="objet">Objet :</label><br />'."\n";
echo ' <input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="4" />'."\n";
echo ' </p>'."\n";
echo ' <p>'."\n";
echo ' <label for="message">Message :</label><br />'."\n";
echo ' <textarea id="message" name="message" tabindex="4" cols="35" rows="12">'.stripslashes($message).'</textarea>'."\n";
echo ' </p>'."\n";
echo ' </fieldset><br />'."\n";
echo ' <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer" /> | <input type="reset" name="Annuler" value="RAZ" /></div>'."\n";
echo '</form>'."\n";
};
?>