2017-06-25 4 views
-2

J'utilise ce qui suit pour envoyer un courriel d'un formulaire:Pourquoi newline n ne fonctionne pas la soumission du formulaire php

<?php 
$mail->Body = "New application от,\r\n 
       Name: $name\r\n 
       Gender $gender\r\n 
       Phone: $phone\r\n 
       Email: $email\r\n 
       Program: $program"; 

?> 

Quand je reçois le tout e-mail est une ligne. Sans le "\ r \ n"

+0

où est le reste du code? La méthode d'envoi est inconnue. –

+0

Je ne comprends pas ce que vous entendez par * "Lorsque je reçois l'e-mail, tout est une ligne sans le" \ r \ n "" *. –

+0

Je suppose que vous avez laissé la question, je l'ai maintenant. Vous devrez prendre avec la réponse donnée. J'ai demandé des éclaircissements mais je n'ai reçu aucune réponse. –

Répondre

1

Vous ne montrez pas le reste de votre code, mais je suppose que vous appelez $mail->isHTML(), dans ce cas, vous les sauts de ligne ne seront pas affichées dans un message rendu, peu importe qu'ils soient \n ou \r\n. Ajouter <br> balises à votre corps, et notez que vous n'avez pas besoin d'ajouter d'autres sauts de ligne parce que votre chaîne les contient déjà:

$mail->Body = "New application от,<br> 
      Name: $name<br> 
      Gender $gender<br> 
      Phone: $phone<br> 
      Email: $email<br> 
      Program: $program"; 
+0

Merci! A travaillé avec un
h3k

0

Essayez d'utiliser PHP_EOL à cette fin (en raison de la compatibilité multiplate-forme).

echo "line 1".PHP_EOL."line 2".PHP_EOL; 
<?php 
$mail->Body = "New application от,".PHP_EOL."Name: $name".PHP_EOL."and so on"; 

?> 
+0

Non. C'est parce que le contenu du corps est HTML. – Synchro

+0

@Synchro Pour lequel nous ne savons pas vraiment depuis que je leur ai demandé [dans ce commentaire plus tôt] (https://stackoverflow.com/questions/44746306/why-newline-n-is-not-working-php-form- soumission? noredirect = 1 # comment76473690_44746306) et n'a reçu aucune mise à jour à la question. Donc, cette réponse pourrait être tout aussi erronée ou juste que la vôtre. –

+0

Par élimination, non. S'il est sur Windows, les sauts de ligne seront natifs '/ r/n', donc dans un contexte de texte brut, il aura un double interligne (les sauts explicites et implicites). Dans le contexte Linux, le texte aurait à la fois des ruptures '\ n' et' \ r \ n', ce qui donnerait au moins des ruptures simples, sinon doubles. Aucun format de saut de ligne n'entraînerait de coupures. La seule autre raison à laquelle je peux penser pour les sauts de ligne étant ignoré est que c'est du HTML, d'où ma réponse. – Synchro