8768 sujets

Développement web côté serveur, CMS

Bonjour,
j'ai un souci avec un formulaire de contact, c'est la première fois que ça me fait ça, je dois passer à côté d'un truc un peu bête, du coup un regard extérieur me serait utile. Smiley confus
J'ai mon formulaire:
<form id="form_contact" action="contact.traitement.php" method="POST" enctype="multipart/form-data">
            <p><input type="text" placeholder="Nom" name="nom" id="nom" ></p>
            <p><input type="email" placeholder="E-mail" name="mail" id="mail"></p>
            <p><textarea placeholder="Message" name="corps" id="corps"></textarea></p>
            <p><input type="submit" value="Envoyer"></p>
            </form>


Et mon traitement.php :
$nom=isset($_POST['nom'])?mysql_real_escape_string($_POST['nom']):'';
$mail=isset($_POST['mail'])?mysql_real_escape_string($_POST['mail']):'';
$corps=isset($_POST['corps'])?mysql_real_escape_string($_POST['corps']):'';

$to='monmail@monmail.com';//destinataire
	$sujet='Contact via site internet';
	$message='<div>';
	$message .='<p>'.$nom.' vous a envoyé un message :</p>
				<p>'.$corps.'</p>';
	
	$message .='</div>';
	$headers= 'MIME-Version: 1.0'."\r\n"; //
	$headers .= 'Content-type: text/html; chartset=utf-8'."\r\n";
if(mail($to,$sujet,utf8_decode($message),$headers)){
	header('location: contact.php?code=ok');
	exit();
}else{
	header('location: contact.php?code=echec');
	exit();
}


Pour une raison, certainement évidente mais que je ne vois pas, je n'arrive pas à récupérer et donc envoyer les données du formulaire dans mon mail.

Avez vous une idée ?

Merci d'avance
Modifié par carolou (06 Oct 2015 - 10:57)
Salut,

es-tu certain que ton fichier d'action est bien nommé contact.traitement.php ? Ou pour faire plus simple, tu arrives bien dans le fichier ? Rajoute un var_dump de $_POST pour voir ce que tu récupères.
Salut,

Ne serait-ce pas ton opérateur ternaire qui n'est pas bien écrit?

$nom=isset($_POST['nom'])?mysql_real_escape_string($_POST['nom']):'';
$mail=isset($_POST['mail'])?mysql_real_escape_string($_POST['mail']):'';
$corps=isset($_POST['corps'])?mysql_real_escape_string($_POST['corps']):'';


$nom=	(isset($_POST['nom']))	 ? mysql_real_escape_string($_POST['nom'])	 : '';
$mail=	(isset($_POST['mail']))	 ? mysql_real_escape_string($_POST['mail'])	 : '';
$corps=	(isset($_POST['corps'])) ? mysql_real_escape_string($_POST['corps']) : '';

Modifié par Super_baloo8 (02 Oct 2015 - 15:29)
Floreo, mon mail part donc c'est que la page traitement est prise en compte.

Super_baloo8, normalement non, je récupère toujours les info avec cette tournure de code...

Merci pour vos réponses, d'autres idées?
carolou a écrit :
Floreo, mon mail part donc c'est que la page traitement est prise en compte.


et donc le var_dump($_POST); ?


et t'es en local ?
Modifié par JENCAL (06 Oct 2015 - 10:38)