为什么\ n不能处理我的PHP脚本的一行,但是对其他所有脚本都没问题?

时间:2012-01-16 16:05:46

标签: php server-side-scripting

我正在写一封电子邮件,要在提交表格时发送。出于某种原因,\n字符在除一个之外的所有行上都正确显示。我看不出这一行与其他行有什么区别,所以无法弄清楚它为什么不起作用。代码如下,连同我得到的输出以及使用的变量列表。

正如您在电子邮件中看到的那样,“工作地址”行末尾的\n无法正常工作,因此“公司名称”只是紧随其后,而不是在下一行。然后\n公司名称正常,所以家庭住址就在下一行。

以下是邮件的代码:

$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" .

以下是输出:

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

如果它有用,这里是使用的变量列表:

$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'];

我会感激任何帮助,我希望这不仅仅是我忽略的一个愚蠢的错误!

1 个答案:

答案 0 :(得分:1)

使用PHP_EOL常量似乎比使用\n更正确。因为PHP_EOL是每个平台的正确行尾字符。