Pb avec fichier envoi.php

bellibaste -  
 Profil bloqué -
Bonjour,
j'ai recupéré ce code php pour un fichier d'envoi de formulaire

*************code*************
<?php
//Pour définir chaque input du formulaire, ajouter le signe de dollar devant
$msg = "1.nom:\t$nom\n";
$msg .= "2.prenom:\t$prenom\n";
$msg .= "3.adresse:\t$adresse\n";
$msg .= "4.codepostal:\t$cp\n";
$msg .= "5.ville:\t$ville\n";
$msg .= "6.pays:\t$pays\n";
$msg .= "7.mail:\t$email\n";
$msg .= "8.phone:\t$telephone\n";
$msg .= "9.fax:\t$fax\n";
$msg .= "10.message:\t$message\n\n";
//Pourait continuer ainsi jusqu'à la fin du formulaire

$recipient = "XXXXX@orange.fr";
$subject = "Formulaire";

$mailheaders = "From: Formulaire de contact <> \n";
$mailheaders .= "Reply-To: $email\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Envoi du formulaire!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci/ Thanks $prenom $nom </H1>";
echo "<P align=center>";
echo "Votre formulaire a bien été envoyé ! <br />
Nous vous répondrons dans les plus brefs délais<br />
Your form has been sent !<br />
We will respond as soon as possible</P>
";
echo "</BODY> </HTML>";

?>

*************** fin code **********

Si ce code fonctionnait parfaitement avec des sites hébergés chez OVH (le fichier "formulaire.html" et "envoi-contact.php" étant au même niveau de la racine), il pose un problème avec un site sur lequel je travaille (reprise d'un site existant) apparemment hébergé chez quelqu'un d'autre qu'OVH (structure différente ?)

Dans la racine de l'hébergement on y trouve des dossiers tels que "anon_ftp", "bin", "cgi-bin", "conf", etc et les fichiers que j'envoie se trouvent dans un dossier "httpdocs".

Quand je soumets le formulaire, j'ai la confirmation d'envoi mais à la récupération du mail à l'arrivée, seules les étiquettes sont présentes, les valeurs étant absentes. Sur la confirmation d'envoi, le nom et le prénom qui devraient apparaitre sont aussi absents.
Quelqu'un pourrait-il éclairer ma lanterne SVP ?
C'est assez urgent - je débute en php

Merci à toutes et à tous
A voir également:

3 réponses

Profil bloqué
 
Bonjour,

Est ce que tu pourrais nous donner le code de ton formulaire ainsi que le code complet de la page d'envoi du mail?
Je pense qu'il s'agit d'un problème de récupération de variable dans ta page d'envoi et non un problème lié à la fonction mail().
0
bellibaste
 
merci pour la rapidité de la réponse...
***code du formulaire ***

<h1><img src="img/puce_h1.gif" alt="puce" width="18" height="25">Formulaire à renseigner</h1>
<form action="envoi_contact.php" method="post" target="_blank">
<table width="550" border="0" cellspacing="0" cellpadding="3">
<tr>
<td><img src="img/etiquettes/nom.gif" alt="nom name"></td>
<td><input name="nom" type="text" id="nom" size="60"></td>
</tr>
<tr>
<td><img src="img/etiquettes/prenom.gif" alt="prenom first name"></td>
<td><input name="prenom" type="text" id="prenom" size="60"></td>
</tr>

<tr>
<td><img src="img/etiquettes/adresse.gif" alt="adresse"></td>
<td><textarea name="adresse" cols="45" id="adresse"></textarea></td>
</tr><tr>
<td><img src="img/etiquettes/cp.gif" alt="code postal"></td>
<td><input name="cp" type="text" id="cp" size="60"></td>
</tr>
<tr>
<td><img src="img/etiquettes/ville.gif" alt="ville"></td>
<td><input name="ville" type="text" id="ville" size="60"></td>
</tr>
<tr>
<td><img src="img/etiquettes/pays.gif" alt="pays"></td>
<td><input name="pays" type="text" id="pays" size="60"></td>
</tr>
<tr>
<td><img src="img/etiquettes/mail.gif" alt="mail"></td>
<td><input name="email" type="text" id="email" size="60"></td>
</tr>
<tr>
<td><img src="img/etiquettes/telephone.gif" alt="phone"></td>
<td><input name="telephone" type="text" id="telephone" size="60"></td>
</tr>
<tr>
<tr>
<td><img src="img/etiquettes/fax.gif" alt="fax"></td>
<td><input name="fax" type="text" id="fax" size="60"></td>
</tr>
<td><img src="img/etiquettes/message.gif" alt="message"></td>
<td><textarea name="message" cols="45" id="message"></textarea></td>
</tr>
<tr>
<td><div align="right"></div></td>
<td> </td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="envoyer" id="envoyer" value="Envoyer / Submit"> <img src="img/espaceur.gif" alt="espace" width="40" height="12"> <input type="reset" name="reset" id="reset" value="Réinitialiser / Reset"></td>
</tr>
</table>
</form>


**********code la page "envoi_contact.php"*********
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Confirmation d'envoi du message</title>
</head>
<?php
//Pour définir chaque input du formulaire, ajouter le signe de dollar devant
$msg = "1.nom:\t$nom\n";
$msg .= "2.prenom:\t$prenom\n";
$msg .= "3.adresse:\t$adresse\n";
$msg .= "4.codepostal:\t$cp\n";
$msg .= "5.ville:\t$ville\n";
$msg .= "6.pays:\t$pays\n";
$msg .= "7.mail:\t$email\n";
$msg .= "8.phone:\t$telephone\n";
$msg .= "9.fax:\t$fax\n";
$msg .= "10.message:\t$message\n\n";
//Pourrait continuer ainsi jusqu'à la fin du formulaire

$recipient = "XXXX@orange.fr";
$subject = "Formulaire";

$mailheaders = "From: Formulaire de contact <> \n";
$mailheaders .= "Reply-To: $email\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Envoi du formulaire!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci/ Thanks $prenom $nom </H1>";
echo "<P align=center>";
echo "Votre formulaire a bien été envoyé ! <br />
Nous vous répondrons dans les plus brefs délais<br />
Your form has been sent !<br />
We will respond as soon as possible</P>
";
echo "</BODY> </HTML>";

?>
<center><img src="img/logo.gif" alt="logo XXX" />
</center>
<body>
</body>
</html>
0
Profil bloqué > bellibaste
 
Bonjour

C'est bien un problème de variable voici le code modifié :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Confirmation d'envoi du message</title> 
</head> 

<?php 
//Pour définir chaque input du formulaire, ajouter le signe de dollar devant 
$msg = "1.nom:\t".$_POST['nom']."\n"; 
$msg .= "2.prenom:\t".$_POST['prenom']."\n"; 
$msg .= "3.adresse:\t".$_POST['adresse']."\n"; 
$msg .= "4.codepostal:\t".$_POST['cp']."\n"; 
$msg .= "5.ville:\t".$_POST['ville']."\n"; 
$msg .= "6.pays:\t".$_POST['pays']."\n"; 
$msg .= "7.mail:\t".$_POST['email']."\n"; 
$msg .= "8.phone:\t".$_POST['telephone']."\n"; 
$msg .= "9.fax:\t".$_POST['fax']."\n"; 
$msg .= "10.message:\t".$_POST['message']."\n\n"; 
//Pourrait continuer ainsi jusqu'à la fin du formulaire 

$recipient = "xxxxx@xxxx.xxx"; 
$subject = "Formulaire"; 

$mailheaders = "From: Formulaire de contact <> \n"; 
$mailheaders .= "Reply-To: ".$_POST['email']."\n\n"; 

mail($recipient, $subject, stripslashes($msg), $mailheaders); 

echo "<HTML><HEAD>"; 
echo "<TITLE>Envoi du formulaire!</TITLE></HEAD><BODY>"; 
echo "<H1 align=center>Merci/ Thanks $prenom $nom </H1>"; 
echo "<P align=center>"; 
echo "Votre formulaire a bien été envoyé ! <br /> 
Nous vous répondrons dans les plus brefs délais<br /> 
Your form has been sent !<br /> 
We will respond as soon as possible</P> 
"; 
echo "</BODY> </HTML>"; 

?> 
<center><img src="img/logo.gif" alt="logo XXX" /> 
</center> 
<body> 
</body> 
</html>


Exemple en ligne : http://www.scenarii-video-multimedia.fr/forum/exemple-forum2.php

Voila il est préférable d'utiliser les variables POST.

Bonne continuation
0
bellibaste
 
Je vous remercie...tout fonctionne au top
Si je peux me permettre, votre site web que j'ai visité est très bien conçu
0
Profil bloqué
 
Merci de mettre ce POST en "problème résolu".

Et MERCI pour le compliment ça fais plaisir.

Cordialement
0