Bonjour à tou(te)s,

d'avance, excusez-moi de vous déranger et si je n'ai pas posté au bon endroit, je suis un débutant
(dans tous les domaines ^^)

je voudrais savoir pourquoi le code que j'utilise m'envoie des mails avec comme information :

<> dans le champs réservé à l'émetteur, et rien du tout dans le message.

Je m'attendais à avoir, au pire, au moins l'adresse mail de celui qui a remplit le champs.
Au mieux, à avoir en plus, cette information sur le message.
Sachant qu'avoir l'adresse mail de l'utilisateur me suffit;

Je vous remercie si vous pouvez m'aider parce que là, je patine sévère... Faut bien dire que je ne suis,
ni développeur, ni designer, ni rien du tout, alors si vous pouviez m'expliquer simplement pourquoi ça ne marche pas, je vous en serais vraiment reconnaissant.


Sur ma page HTML, j'ai mis :

[code]

<div align=center>
<form method=POST action=formmail.php >
<input type=hidden name=subject value=formmail>
<table>

<tr><td>Votre Email:</td>
<td><input type=text name=son_email size=60></td></tr>
<input type=hidden name=inscription >

</td></tr>
</table>
<br> <input type=submit value=Envoyer> -
<input type=reset value=Effacer>
</form>
</div>


mon fichier PHP :

[code]

<?php

$mail=$HTTP_POST_VARS['son_email'];
$objet=$HTTP_POST_VARS['inscription'];



$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";

$subject="$objet";
$destinataire="mon-adresse-mail@quelqueChose.com";
$body="$mail";
if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé<br>";
} else {
echo "Une erreur s'est produite";
}
?>
Bonjour,
contrôles par des "echo" les variables reçues par le php pur être sur de ce que tu envoies
pour le reste tu dois reconstituer des variables contenant:

/* --------- exemple de reception corecte de POST ---------- */
$Xnom = (isset($_POST['Xnom'])) ? $_POST['Xnom'] : '';
/* --------------------------------------------------------------------------- */
  $A = "jean-Yves Machin <machin@orange.fr>";
  $De  = "From: site de truc <mon-site@orange.fr>";
  $Objet = "Message du site Web TRUC";
  $Message = "le visiteur \n  \n";
  $Message .= $Xprenom." ".$Xnom." \n adresse mail \n";
  $Message .= $Xemail." Envoie ce message:\n\n\n";
  $Message .= $Xtexte." \n\n\n";
  mail($A, $Objet, $Message, $De);

Voila si tu fais exactement ceci ça marchera ! Smiley smile
Modifié par Christele (09 Nov 2016 - 02:07)
Bonjour,
Quelle version de php utilises-tu ?
documentation de $_POST:
php 4.1.0 -> Introduction de $_POST, rendant obsolète $HTTP_POST_VARS.

Essaie donc ça:
$mail = $_POST['son_email'];
$objet = $POST['inscription']; 

Modifié par loicbcn (09 Nov 2016 - 09:13)
Smiley biggrin
Je vous remercie beaucoup pour vos efforts.
J'essaye pleins de choses depuis le premier message de Christele, et j'ai le plaisir
de vous annoncer que ça ne marche pas Smiley bawling Smiley bawling Smiley bawling
Bon ça va, j'exagère un peu. Il y a du mieux.
C'est à dire, que j'ai essayé différentes solutions, mais je dois pas m'y prendre
de la bonne manière, normal, je tâtonne sans rien y connaître.

Bref, le meilleur résultat que j'ai eu, c'est avec mon fichier formmail.php contenant exactement
le code suivant :

<?php
$Xnom = (isset($_POST['Xnom'])) ? $_POST['Xnom'] : '';

$A = "service inscription <mon-adresse-mail@truc.com>";
$De = "From: formulaire <mon-adresse-mail@truc.com>";
$Objet = "Message du site truc.com";
$Message = "le visiteur \n \n";
$Message .= $Xprenom." ".$Xnom." \n adresse mail \n";
$Message .= $Xemail." Envoie ce message:\n\n\n";
$Message .= $Xtexte." \n\n\n";
mail($A, $Objet, $Message, $De);
?>


Smiley biggrin Et là, je reçois un mail dans ma boîte avec très exactement les informations suivantes :

de : "formulaire"
à : "service inscription"
objet : "message du site truc.com"
avec la date et l'heure

Puis dans le message, nous pouvons y lire :
le visiteur

adresse mail
Envoie ce message:

Smiley sweatdrop

Alors là... je patine encore.

Bon après, ça s'explique facile, je n'y connais vraiment rien de rien.
Exemple : ce conseil, qui me semblait important : " contrôles par des "echo" les variables reçues par le php pur être sur de ce que tu envoies "

Je ne sais pas utiliser ce langage, du coup, je ne vois ce qu'il faut que je fasse.

J'ai même essayé le bout de code de loicbcn, mais là, j'ai arrêté, puisque du coup, je n'avais plus du tout le moindre mail.

Et merci loicbcn pour le lien pour la doc php... Mais j'avoue un peu que j'ai l'impression de lire
une langue étrangère que je ne comprends pas.

J'ai regardé ma version de php : apparemment, je suis en version 5.6.

Au niveau de la configuration, j'ai mis tous les paramètres par défaut Smiley lol

C'est clair que je suis loin de l'optimisation, mais ce n'est pas non plus le but recherché.

Toutefois, j'ai la possibilité de le mettre en version 7 s'il faut.

J'ai fait un petit site pour tester une idée. Et j'y ai intégré (ce que je souhaite)

C'est avoir un champs de saisi, pour le visiteur puisse y mettre son adresse mail,

s'il le souhaite, afin que je puisse récupérer du data, afin de valider ou pas ma proposition de valeur.

Alors du coup, si vous avez des suggestions à m'apporter, des conseils, des lignes de codes, et même

des liens (pour que je puisse apprendre et comprendre), ce serait vraiment un immense bonheur pour moi.

Espérant vous lire à nouveau, je vous souhaite une bonne journée en attendant.

Smiley biggrin
Bonjour à tous,

Je venais une dernière fois sur ce billet pour vous dire, votre aide a été super précieuse.
Je me suis documenté sur le site lancé par le link de loicbcn
J'ai gardé le code de Jean-Pierre, que j'ai légèrement modifié et là :
YYYYYEEEESSSSSSSSS ! Je suis trop content, ça marche enfin.
voilà le code que j'utilise :


<?php

$Xnom = (isset($_POST['Xnom'])) ? $_POST['Xnom'] : '';
$email = (isset($_POST['email'])) ? $_POST['email'] : '';

$A = "INFO inscription <mon-adresse@mail.com>";
$De = "From: <$email>";
$Objet = "Inscription";

$Message .= $email." \r\n";

mail($A, $Objet, $Message, $De);
?>

Avec un peu de calme de réflexion et beaucoup d'aide, ben on y arrive toujours !
Alors un grand merci à vous, je vous rem Smiley lol ercie très chaleureusement pour l'aide
que vous m'avez apporté.... Et à plouch dans le bus !
Smiley lol