8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Je n'arrive pas à trouver ce qui ne va pas. Je reçois le mail de contact mais il manque le texte du message. Sans doute à force d'avoir le nez dessus. Si quelqu'un voit une solution... Smiley cligne

Le code :
<?
$nom = $_POST['nom']; 
$prenom = $_POST['societe']; 
$sujet= $_POST['select']; 
$email = $_POST['email']; 
$texte = $_POST['texte']; 
$adresse="contact@mon-site.com";
$from="From: $prenom $nom<$email>\r\n";
$from.="Reply-To: $prenom $nom <$email>\n";
$from.="X-priority:3\n";
$texte="<html>";
$texte.="$texte";
$texte.="</html>";
$from.="MIME-Version: 1.0\r\n";
$from.="Content-Type: text/html";  
if (mail($adresse,$sujet,$texte,$from))
echo("<center><font color=grey><br><br><br><p>Merci d'avoir pris contact</p><p>Nous vous r&eacute;pondrons dans les plus brefs d&eacute;lais</p><br /><p><a href=index.html>Cliquez ici pour revenir &agrave; l'accueil</a></p></font></center>");
else
echo("<center><font color=red><br><br><br><h2>Probl&egrave;me &agrave; l'envoi du formulaire... Nous ne pouvons actuellement traiter votre demande.</h2></font><br><a href=\"mailto:$adresse\">Envoyez-nous un courriel</a>");
?>

Et le formulaire :
<form name="formulaire" action="traitement.php" method="post" onsubmit="return verification()">
			<table style="float: right; border: 0; color: #CCCCCC; text-align: left; font-family: Heletica, Arial, Sans serif; font-size: 9pt;">
			<tr><td>Votre nom </td><td>
			<input name="nom" type="text" size="50" tabindex="1" /></td></tr>
			<tr><td>Votre société </td><td>
			<input name="societe" type="text" size="50" tabindex="2" /></td></tr>
			<tr><td>Votre email</td><td>
			<input name="email" type="text" size="50" tabindex="3" /></td></tr>
			<tr><td>Vous souhaitez</td>
			<td><select name="select" id="select" tabindex="4">
                <option value="une proposition commerciale" selected="selected">une proposition commerciale</option>
                <option value="une information sur les prestations">une information sur les prestations</option>
                <option value="une information sur l entreprise">une information sur l'entreprise</option>
                </select></td></tr><tr><td>Votre message</td><td><textarea name="texte" cols="45" rows="5" tabindex="5"></textarea></td></tr><tr><td></td><td><input name="annuler" type="reset" value="Annuler" tabindex="7" />
			<input name="soumettre" type="submit" value="Envoyer" tabindex="6" /></td></tr>
			</table>
			</form>

Merci !
Modifié par bmael (18 Feb 2010 - 16:31)
Salut,

pour commencer il faudrait remplacer
$texte="<html>"; 
$texte.="$texte"; 
par
$texte='<html>'.$texte; 
ce qui éviterait d'écraser la variable.

Cela dit ça génère un code html invalide. Les lignes <center><font color=grey><br><br><br><p>Merci ... ne sont pas terribles non plus et des LABEL for associés aux INPUT rendraient ton formulaire plus accessible.
Super, merci pour la correction !
D'accord pour le mauvais code HTML et l'ajout des balises label dans le formulaire. Il me reste encore du boulot.
Merci pour ton aide Smiley cligne