Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1007 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  fonction mail() -> adresse du messager[resolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

fonction mail() -> adresse du messager[resolu]

n°889409
attentio
Posté le 03-11-2004 à 13:04:12  profilanswer
 

bonjour !
j'ai quelques petites difficultes avec la fonction mail
voila je voudrais mettre dans la tete du mail l'adresse du messager => contact@monsite.com
voici le code de la page de traitement actuellement:

Code :
  1. <?php
  2. $recipient = $_POST['mail'];
  3. $subject = $_POST['sujet'];
  4. $msg = $_POST['message'];
  5. mail($recipient, $subject, $msg);
  6. ?>


que dois-je rajouter?
 
aussi petite question $_POST['message'] ne prend pas en compte les sauts de ligne comment dois-je m'y prendre
 

Code :
  1. <textarea name="message" cols=57 rows=15></textarea>


 
merci de votre aide :ange:


Message édité par attentio le 24-03-2005 à 20:59:56

---------------
L'ordinateur a de la mémoire mais aucun souvenir ...
mood
Publicité
Posté le 03-11-2004 à 13:04:12  profilanswer
 

n°889442
simogeo
j'ai jamais tué de chats, ...
Posté le 03-11-2004 à 13:34:58  profilanswer
 

tu trouveras ton bonheur ici :
http://www.nexen.net/docs/php/anno [...] n.mail.php


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°889446
piedbleu
Posté le 03-11-2004 à 13:45:54  profilanswer
 

Pour prendre en compte les retours ligne, par ex. ds le mess.:
<?php
//prise en compte des retour ligne utilisateur
$msg=nl2br($msg);  
$recipient = $_POST['mail'];  
$subject = $_POST['sujet'];  
$msg = $_POST['message'];  
mail($recipient, $subject, $msg);  
?>

n°889453
simogeo
j'ai jamais tué de chats, ...
Posté le 03-11-2004 à 13:49:58  profilanswer
 

piedbleu a écrit :

Pour prendre en compte les retours ligne, par ex. ds le mess.:
<?php
//prise en compte des retour ligne utilisateur
$msg=nl2br($msg);  
$recipient = $_POST['mail'];  
$subject = $_POST['sujet'];  
$msg = $_POST['message'];  
mail($recipient, $subject, $msg);  
?>


 
non, cela depend du format de mail.  
Et par défaut c'est du texte brut !
 
si c'est en html d'accord mais au format text \n est son ami


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°889454
piedbleu
Posté le 03-11-2004 à 13:50:17  profilanswer
 

ou plutôt:
//prise en compte des retour ligne utilisateur  
$_POST['sujet']=nl2br( $_POST['message']);
//puis suite de ton code

n°889456
piedbleu
Posté le 03-11-2004 à 13:51:27  profilanswer
 

si c'est en html d'accord mais au format text \n est son ami
EXACT

n°889556
attentio
Posté le 03-11-2004 à 15:46:32  profilanswer
 

j'imagine que mon texte est au format text... je n'est rien fait dans mon formulaire!!
donc comment je doit fait pour eviter au redacteur d' ecrire \n a chaque fin de ligne dans le <textarea>

n°889612
simogeo
j'ai jamais tué de chats, ...
Posté le 03-11-2004 à 16:35:34  profilanswer
 

attentio a écrit :

j'imagine que mon texte est au format text... je n'est rien fait dans mon formulaire!!
donc comment je doit fait pour eviter au redacteur d' ecrire \n a chaque fin de ligne dans le <textarea>


 
il ne le fait pas ... lui il appuie sur Enter et ca marque automatique un saut de ligne (\n)   sans pour autant qu'il soit visible!


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°889618
attentio
Posté le 03-11-2004 à 16:40:29  profilanswer
 

j'ai pas bien compris ... peu tu reformuler ta reponse ...
 
si "il ne le fait pas" comment faire pour transformer mon texte brut dans le <textarea>au format html
 
merci encore de votre aide

n°889627
bob007
Posté le 03-11-2004 à 16:52:18  profilanswer
 

heu tu as qu'a lui faire faire du html directement, genre avec HTMLarea, c'est très bien pour ce type de cas je trouve: http://www.htmlarea.com/htmlarea_2/download.html

mood
Publicité
Posté le 03-11-2004 à 16:52:18  profilanswer
 

n°889630
simogeo
j'ai jamais tué de chats, ...
Posté le 03-11-2004 à 16:56:59  profilanswer
 

attentio a écrit :

j'ai pas bien compris ... peu tu reformuler ta reponse ...
 
si "il ne le fait pas" comment faire pour transformer mon texte brut dans le <textarea>au format html
 
merci encore de votre aide


 
Quand tu appuies sur entrée , ca fait automatiquement un saut de ligne dans ton textarea.
 
Ta variable qui contient le contenu du texte area va lui envoyé les \n
 
C'est notamment le cas sur ce forum !
 
Si je reprends ton message, j'obtiens ca :
 

Citation :


$msg="j'ai pas bien compris ... peu tu reformuler ta reponse ...\nsi "il ne le fait pas" comment faire pour transformer mon texte brut dans le <textarea>au format html\nmerci encore de votre aide\n"


 
pour l'afficher en html ( c'est le cas sur ce forum) est appliqué la fonction $msg_with_br=nl2br($msg);
 
echo $msg_with_br;
 
mais toi tu l'envoies au format texte donc tu le laisse sous sa forme originelle.
 
ATTENTION : pour que \n soit interpreté il doit être contenu dans des "" (doubles quotes) et non des '' (simples quotes)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°889640
attentio
Posté le 03-11-2004 à 17:11:48  profilanswer
 

mais alors comment envoyer mon formulaire au format html ??? :??:  
 

Code :
  1. //formulaire.php
  2. <FORM method="POST" action="traitement_mail.php">
  3.           <table align="center" border="0"  cellpadding="0" cellspacing="0">
  4.             <tr>
  5.               <td  align="right">Sujet :&nbsp; </td><td>
  6.                 <INPUT type="text" name="sujet" class="champs_texte" size=75>
  7.    <INPUT type="hidden" name="mail" value="<? echo $ad_mail; ?>">
  8.    </td>
  9.             </tr>
  10.   <tr><td colspan="2"height="5"></td></tr>
  11.             <tr>
  12.               <td align="right" valign="top">Message :&nbsp;</td>
  13.               <td> <textarea name="message" cols=57 class="champs_texte" rows=15></textarea></td>
  14.             </tr>
  15.             <tr>
  16.               <td colspan="2" align="right"><br> <INPUT type="submit" value="Envoyer"> </td>
  17.             </tr>
  18.           </table>
  19. </FORM>


 

Code :
  1. <?php
  2. //traitement_mail.php
  3. $msg=nl2br($msg);
  4. $recipient = $_POST['mail'];
  5. $subject = $_POST['sujet'];
  6. $msg = $_POST['message'];
  7. mail($recipient, $subject, $msg,"From: service_clients@{$_SERVER['SERVER_NAME']}\r\n"
  8.     ."Reply-To: service-clients@{$_SERVER['SERVER_NAME']}\r\n" );
  9. echo $msg;
  10. ?>


 
merci


Message édité par attentio le 03-11-2004 à 17:14:01
n°889644
simogeo
j'ai jamais tué de chats, ...
Posté le 03-11-2004 à 17:17:21  profilanswer
 

Attentio > tu commences a m'ennerver :o
 
tu n'as pas besoin de l'envoyer au format html pour avoir les retours à la ligne
 
Si tu avais lu le premier lien que je t'ai envoyé tu le saurais :o
http://www.nexen.net/docs/php/anno [...] n.mail.php
 
je cite :

Citation :


<?php
mail("maxou@example.com", "Mon Sujet", "Ligne 1\nLigne 2\nLigne 3" );
?>


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°889647
simogeo
j'ai jamais tué de chats, ...
Posté le 03-11-2004 à 17:19:34  profilanswer
 

et testes ton code  [:southpark1]  
 

Code :
  1. <?php
  2. //traitement_mail.php
  3. $recipient = $_POST['mail'];
  4. $subject = $_POST['sujet'];
  5. $msg = "ligne1\nligne2\ligne3";
  6. if(mail($recipient, $subject, $msg))
  7.      echo "envoi de mail ok";
  8. else
  9.      echo "mail non envoyé";
  10. ?>


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°889659
attentio
Posté le 03-11-2004 à 17:26:28  profilanswer
 

si je suis aussi insistant, C parce que dans mes tests ne font pas les retours a la ligne.
ex : dans mon textarea
L1 : bonjour,
L2 : ca marche pas  
 
donne dans un echo $msg bonjour,ca marche pas
et non pas  
bonjour<br>
ca marche pas
 
voilou
merci

n°889662
simogeo
j'ai jamais tué de chats, ...
Posté le 03-11-2004 à 17:27:55  profilanswer
 

attentio a écrit :

si je suis aussi insistant, C parce que dans mes tests ne font pas les retours a la ligne.
ex : dans mon textarea
L1 : bonjour,
L2 : ca marche pas  
 
donne dans un echo $msg bonjour,ca marche pas
et non pas  
bonjour<br>
ca marche pas
 
voilou
merci


 
dans un echo oui mais pas dans le mail :o


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°889663
attentio
Posté le 03-11-2004 à 17:28:14  profilanswer
 

... si je fais $msg = "ligne1\nligne2\ligne3"; bien evidament que ca marche ...

n°889666
attentio
Posté le 03-11-2004 à 17:29:34  profilanswer
 

et si je vais un print_r C pareil

n°889674
simogeo
j'ai jamais tué de chats, ...
Posté le 03-11-2004 à 17:38:26  profilanswer
 

bon alors on essayes autre chose :
 

Code :
  1. $msg=nl2br($msg); 
  2. $recipient = $_POST['mail'];
  3. $subject = $_POST['sujet'];
  4. $msg = $_POST['message'];
  5. $msg=str_replace("<br>", "\n", $smg);
  6. if(mail($recipient, $subject, $msg)) 
  7.      echo "envoi de mail ok";
  8. else
  9.      echo "mail non envoyé";


Message édité par simogeo le 03-11-2004 à 17:38:38

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°889983
bob007
Posté le 04-11-2004 à 09:18:01  profilanswer
 

:ouch:

Code :
  1. $msg = nl2br($msg); 
  2. $recipient = $_POST['mail'];
  3. $subject = $_POST['sujet'];
  4. $msg = $_POST['message'];
  5. $msg = str_replace("<br />", "\n", $smg);
  6. if (mail($recipient, $subject, $msg)) 
  7.      echo "envoi de mail ok";
  8. else
  9.      echo "mail non envoyé";


 
Quoi je chippote? <br> ou <br />.
 
Oui ok je sors!

n°889988
simogeo
j'ai jamais tué de chats, ...
Posté le 04-11-2004 à 09:29:49  profilanswer
 

par dafut le php.ini doit proposer <br> c'est pour ca que j'ai choisi ce modele ...
 
faut bien que ca matche :o
 
(du reste ce script est compltément con et inutile)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°890353
bob007
Posté le 04-11-2004 à 16:46:51  profilanswer
 

+1 :D

n°890541
attentio
Posté le 04-11-2004 à 19:39:59  profilanswer
 

:ange: tu avais raison meme si le print_r et le echo n'affiche pas les <br> le mail lui en tient compte.donc du coup ca marche ... enfin presque
 
merci de votre aide :hello:

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  fonction mail() -> adresse du messager[resolu]

 

Sujets relatifs
VisualTextBox + frame [résolu]formulaire mail qui fonctionne pas
Probleme fonction et tableau d'objetrecupere une piece jointe d'un mail
mail() et \ sur mes ' help :)Petit pb avec mon hebergeur pour l'envoi de mail
[wsh - vbs]Comment appeler une fonction externe?envoi d'un mail
[résolu]newbie servlet / jsppb de backgournd avec mozzila/firefox et pas IE, forcement....[RESOLU]
Plus de sujets relatifs à : fonction mail() -> adresse du messager[resolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR