Pourquoi n ne fonctionne-t-il pas sur une ligne de mon script PHP, mais va bien sur tous les autres?

StackOverflow https://stackoverflow.com/questions/8882714

  •  29-10-2019
  •  | 
  •  

Question

J'écris un e-mail à envoyer sur la soumission d'un formulaire. Pour une raison quelconque, le \n Le caractère s'affiche correctement sur toutes les lignes sauf une. Je ne vois aucune différence entre cette ligne et les autres, donc je ne peux pas comprendre pourquoi cela ne fonctionne pas. Le code est ci-dessous, ainsi que la sortie que j'obtiens ainsi qu'une liste des variables utilisées.

Comme vous pouvez le voir dans l'e-mail, le \n À la fin de la ligne «Adresse de travail» ne fonctionne pas, donc le «nom de l'entreprise» suit tout droit, plutôt que d'être sur la ligne suivante. Puis le \n Après que le nom de l'entreprise fonctionne bien, l'adresse d'accueil est donc sur la ligne suivante.

Voici le code du message:

$xmsg = "First Name: $firstname\n" .
        "Last Name: $lastname\n" .
    "Work Tel: $worktel\n" .
    "Home Tel: $hometel\n" .
    "Mobile Tel: $mobtel\n" .
    "E-mail: $email\n" .
    "Work Address: $workad\n" .
    "Company Name: $company\n" .
    "Home Address: $homead\n" .

Voici la sortie:

First Name: Joe
Last Name: Bloggs
Work Tel: 0123456789
Home Tel: 0987654321
Mobile Tel: 0789456123
E-mail: joe.bloggs@jb.co.uk
Work Address: Bloggoffice, Joe Street, London, N1 J0E Company Name: 
Home Address: 9 Blogg Street, Borough of Joe, London, SE4 J03

Et dans le cas où il est utile, voici la liste des variables utilisées:

$firstname = $_SESSION['firstname'];
$lastname = $_SESSION['lastname'];
$worktel = $_SESSION['worktel'];
$hometel = $_SESSION['privtel'];
$mobtel = $_SESSION['mobtel'];
$email = $_SESSION['email'];
$company = $_SESSION['companyname'];
$workad = $_SESSION['workad1'] . ', ' . $_SESSION['workad2'] . ', ' .     $_SESSION['workad3'] . ', ' . $_SESSION['workpostcode'];
$homead = $_SESSION['homead1'] . ', ' . $_SESSION['homead2'] . ', ' . $_SESSION['homead3'] . ', ' . $_SESSION['homepostcode'];

Je serais reconnaissant pour toute aide, j'espère que ce n'est pas seulement une erreur stupide que j'ai négligé!

Était-ce utile?

La solution

Utilisant PHP_EOL constant semble plus correct que d'utiliser \n. Car PHP_EOL est le bon caractère de fin de ligne pour chaque plate-forme.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top