Php pour l'envoie vers une boite mail

Résolu/Fermé
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 - 11 juin 2011 à 22:10
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 - 14 juin 2011 à 10:50
Bonjour,

je n'arrive pas a envoyer le formulaire vers une boite mail + message a l'écran



il y a le code pour envoyer en php :

<?php 
$TO = "mon adresse  mail"; 
$h = "From: " . $TO; 
while (list($key, $val) = each($_POST)) 
{$message .= "$key : $val\n";} 
mail($TO, "inscription newsletter", "$message", $h); 
?>


et mon code qui est en html ,(formulaire de contact ) avec le nom ,prénom adresse.....


et en en fin de code il y a 3 bouton ( envoyer ,rétablir,afficher )

2 sur 3 fonctionne ,celui qui ne fonctionne pas étant "envoyer"

<input type= "submit" value="Envoyer" id="submit" onClick="envoie(this.form)"/>




c'est 2 code sont-il bon ?

et donc je veut recevoir ce qui a été rempli dans le formulaire , dans la boite mail et si possible pas en "texte brute"



sur ce lien , il m'explique ce que je veut réaliser seulment je n'y arrive pas a mixé avec mon code personnel


https://a-pellegrini.developpez.com/tutoriels/php/mail/



Merci ,je commence a être pessimiste avec ce php



A voir également:

2 réponses

Meoran Messages postés 1562 Date d'inscription vendredi 28 août 2009 Statut Membre Dernière intervention 8 avril 2015 204
11 juin 2011 à 22:24
Salut,

$h = "From: " . $TO;

Tu t'envoies un mail à toi-même là. Tu en est conscient ?

Sinon le code est correct...

Pour formater ton texte en html, rajoute ceci aux headers :

$h .= 'Mime-Version: 1.0'."\r\n";
$h .= 'Content-type: text/html; charset=utf-8'."\r\n";

TU peux ensuite rajouter du code html à ton texte qui sera interprété.
1
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 26
11 juin 2011 à 22:36
tout d'abord merci pour l'aide !

ensuite

$h .= 'Mime-Version: 1.0'."\r\n"; 
$h .= 'Content-type: text/html; charset=utf-8'."\r\n"; 


je le mets dans le php , par exemple a la fin ?



et le From ,je mets un nom ou l'adress mail ?
0
Meoran Messages postés 1562 Date d'inscription vendredi 28 août 2009 Statut Membre Dernière intervention 8 avril 2015 204
11 juin 2011 à 22:38
Les lignes sont à rajouter juste après

$h = "From: " . $TO"\r\n";

From : adresse mail
0
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 26
Modifié par DanouL le 11/06/2011 à 22:42


ce qui donne




<?php
$TO = " mon adresse mail";
$h = " mon adresse mail:"
$h .= 'Mime-Version: 1.0'."\r\n";
$h .= 'Content-type: text/html; charset=utf-8'."\r\n"; . $TO;
while (list($key, $val) = each($_POST))
{$message .= "$key : $val\n";}
mail($TO, "inscription newsletter", "$message", $h);
?>




???
0
Meoran Messages postés 1562 Date d'inscription vendredi 28 août 2009 Statut Membre Dernière intervention 8 avril 2015 204
Modifié par Meoran le 12/06/2011 à 11:19
Presque :

<?php
$TO = " mon adresse mail";
$h = "From: " . $TO"\r\n";
$h .= 'Mime-Version: 1.0'."\r\n";
$h .= 'Content-type: text/html; charset=utf-8'."\r\n"; . $TO;

//Le message que tu souhaites envoyer

$message = "Blablabla<b>blabla</b>...etctectc";

mail($TO, "inscription newsletter", "$message", $h);
?>

Et il faut que tu formates le $message comme tu le souhaites avec des balises html.
0
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 26
11 juin 2011 à 22:54
c'est bien pour ce que je veut ? :je veut recevoir ce qui a été rempli dans le formulaire , dans la boite mail et si possible pas en "texte brute" !
0
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 26
Modifié par DanouL le 26/06/2011 à 19:02
j'ai donc crée le fichier envoi.php

et le résumer e tout est :


<FORM method="post" action="envoi.php" >    


<?php    
$TO = "mon mail";    
$h = "From: " . $TO"\r\n";    
$h .= 'Mime-Version: 1.0'."\r\n";    
$h .= 'Content-type: text/html; charset=utf-8'."\r\n"; . $TO;    

$message = "Bonjour,<br/>    
l'utilisateur <b>$_POST['login']</b> viens de vous envoyer un <u>mail</u>.<br/>Son nom est $_POST['nom] et son prénom $_POST[prénom']. Son commentaire est $_POST['comm'] ";    

mail($TO, "inscription formualaire", "$message", $h);    
?>    


la j'ai bon ? :)

merci de ne pas oublier de mettre résolu lorsque cela est le cas ou de dire résolu quand vous ne pouvez pas !

+1 permet d'aider les autres !
----------------------------
[Aimer ce n'est pas renoncer à sa liberté, c'est lui donner un sens.]
0
Meoran Messages postés 1562 Date d'inscription vendredi 28 août 2009 Statut Membre Dernière intervention 8 avril 2015 204
Modifié par Meoran le 12/06/2011 à 12:12
Le $message n'est qu'un exemple

A toi de le formater comme tu veux


Pour accéder à la valeur saisie par l'utilisateur dans le champ pays par exemple, tu y accèdes par $_POST['pays']
0
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 26
Modifié par DanouL le 12/06/2011 à 15:14
sayé je l'et formater comme je le voulais !
le $_POST['pays'] je l'est rajouter a la suite de $_POST['comm'] "; ?

jusque la c'est bon ?

je serai de retour fin d'après ,ta ma énormément aider je te remercie beaucoup a tout a l'heure
0
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 26
12 juin 2011 à 15:15
me revoila :)

je fait un résumer de ce que j'ai fait :

- j'ai donc crée un fichier envoi.php :

<FORM method="post" action="envoi.php" > 


<?php 
$TO = "clubsalon555@gmail.com"; 
$h = "From: " . $TO"\r\n"; 
$h .= 'Mime-Version: 1.0'."\r\n"; 
$h .= 'Content-type: text/html; charset=utf-8'."\r\n"; . $TO; 

$message = "Bonjour,et merci pour votre message <br/> 
l'utilisateur <b>$_POST['login']</b> viens de vous envoyer un <u>mail</u>.<br/>Son nom est $_POST['nom] et son prénom $_POST[prénom']. Son commentaire est $_POST['comm'] "; 
$_POST['pays']
mail($TO, "inscription formualaire", "$message", $h); 
?> 


voila
0
Meoran Messages postés 1562 Date d'inscription vendredi 28 août 2009 Statut Membre Dernière intervention 8 avril 2015 204
12 juin 2011 à 16:05
Re,

c'est presque bon. Je ne vois pas de champ "login" (d'input avec pour name : login) dans ton formulaire.

$_POST['login'] n'existe donc pas.
0
Meoran Messages postés 1562 Date d'inscription vendredi 28 août 2009 Statut Membre Dernière intervention 8 avril 2015 204
Modifié par Meoran le 12/06/2011 à 16:08
<div><span><label for="nom">Nom<span class="Style3">*</span> : </label>
<input id="nom" name="nom" type="text" /></span>

<br/><br/>

<span><label for="nom">Prenom<span class="Style3">*</span> : </label>

<input type="text" id="prenom" name="nom" /></span>

ET en reprenant ton code,

tu donnes deux fois le même nom à deux inputs différents, ça peut pas le faire...

<div><span><label for="nom">Nom<span class="Style3">*</span> : </label>
<input id="nom" name="nom" type="text" /></span>

<br/><br/>

<span><label for="nom">Prenom<span class="Style3">*</span> : </label>

<input type="text" id="prenom" name="prenom" /></span>

Ainsi la valeur saisi par l'utilisateur dans le champ "nom" se retrouvera dans $_POST['nom']

et "prenom" se retrouvera dans $_POST['prenom']
0