Envoi formulaire vers mail en PHP

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
A voir également:

2 réponses

sipherion Messages postés 1809 Date d'inscription   Statut Membre Dernière intervention   286
 
Essaye plutot avec ce code, l'avantage c'est que tout est dans une seule page (.php évidemment).

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('&#039;',"'",$message);
			$message = str_replace('&#8217;',"'",$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&acute;accueil dans 10 secondes<br /><a href="index.php?page=accueil">Retourner vers l&acute;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";
	};
?>
0
nicgall
 
Ok, merci, je vais essayer ça, je reviens plus tard pour dire si ça a marcher
0