Bonjour à tous,

Je suis débutant en php et lisant un peu le forum j'ai trouvé un formulaire qui fonctionne très bien. Mais dans mon formulaire html j'ai un <INPUT> Subject qui doit être modifiable par le visiteur...

j'ai essayé en modifiant la 3éme ligne par $Subject = $_POST['subject'];

mais ça ne fonctionne pas. Smiley decu

<?php

$EmailFrom = $_POST['email'];
$EmailTo = "test@hotmail.com";
$Subject = "Un message sur mon site"; // comment l'adapter???
$Nom = $_POST['nom'];
$Email = $_POST['email'];
$Message = $_POST['message'];

$Body = "";
$Body .= "Nom: ";
$Body .= $Nom;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= "\n";
$Body .= $Message;
$Body .= "\n";

mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
?>


qq'un pourrait m'adier svp?
Salut

tu dis que tu as modifier $Subject = $_POST['subject'];

mais as tu mis l'attribut "name = 'subject'" dans un input coté HTML ?
coucou Jencal, voila mon code

<?php

$EmailFrom = $_POST['email'];
$EmailTo = "test@hotmail.com";
$Subject = $_POST['subject'];
$Nom = $_POST['nom'];
$Email = $_POST['email'];
$Message = $_POST['message'];

$Body = "";
$Body .= "Nom: ";
$Body .= $Nom;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= "\n";
$Body .= $Message;
$Body .= "\n";

mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
?>


<form id="poste" action="formulaire.php" method="POST">
<label for="nom">Nom et prénom</label><br />
<input id="nom" type="text" name="nom" placeholder="Nom, Prénom." maxlength="40" required><br />
<label for="email">Addresse e-mail</label><br />
<input id="email" type="email" name="email" placeholder="utilisateur@domaine.be" maxlength="40" required><br />
<label for="subject">Objet</label><br />
<input id="subject" type="text" name="objet" placeholder="Concerne." maxlength="40" required><br />
<label for="message">Message</label><br />
<textarea id="message" name="message" placeholder="Écrivez votre message ici." maxlength="980" required></textarea><br />
<input type="submit" value="Envoyer">
<input type="reset" value="Annuler">
</form>
Modifié par crazysifu (27 Jul 2015 - 14:21)
tu avais mis
$Subject = $_POST['subject']; 


je conseil de relire l'utilisation du $_POST via les formulaires html

parce que là ton erreur que tu lui renseigne l'id de ton input, alors que $_POST fonctionne avec les name.

donc tu devrais mettre

$Subject = $_POST['objet']; 


comme indiqué ici
<input id="subject" type="text" [b]name[/b]="objet" placeholder="Concerne." maxlength="40" required><br />
merci, en effet j'avais mal écrit le nom de l'input, je viens de faire le changement mais le sujet n'apparait toujours pas dans le message que je reçois.
et du coup comment veux - tu que _POST fasse la différence entre ton ID et ton name, il faut absolument les différenciés là les deux s'appelle "subject" , tu aurais du changer le php comme je t'ai indiqué Smiley smile
Modifié par JENCAL (27 Jul 2015 - 15:01)
Si je peux me permettre une dernière petite question. Est-ce possible de styliser le mail que je reçois, en ajoutant du css par exemple?
là par contre, je te conseil d'ouvrir un autre sujet dans le forum CSS, je ne saurais te répondre.