电子邮件中的PHP连接字符串

电子邮件中的PHP连接字符串,php,email,Php,Email,我的自动电子邮件出现了一些问题,我尝试连接变量,但它返回的是一个空白页面,而不是重定向 $to = "*******"; $subject = "New signup"; $message = " Name:" . $row['first_name'] $row['surname'] . "Date of birth:" . $row['dob'] . "Address" . $row['house'] $row['street'] $row['town'] $row['postcode

我的自动电子邮件出现了一些问题,我尝试连接变量,但它返回的是一个空白页面,而不是重定向

$to = "*******";
$subject = "New signup";
$message = "
Name:" . $row['first_name'] $row['surname'] . 
"Date of birth:" . $row['dob'] . 
"Address" . $row['house']  $row['street'] $row['town']  $row['postcode'] . 
"Application type:" . $name . 
"Price:" . $a . 
"Country of birth:" . $row['origin'] .
"Phone number:" . $row['number'] . 
"Email:" . $row['email'] . 
"";
$from = "*******";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
header('Location: payment.php?id='.$row['app_id']);
exit();

有什么想法吗?谢谢您的帮助。

您需要在每个变量和字符串之间使用连接运算符:

Name:" . $row['first_name'] . $row['surname'] . 
"Date of birth:" . $row['dob'] . 
"Address" . $row['house'] . $row['street'] . $row['town'] . $row['postcode'] .

不要这样做多行连接/赋值。使用一个。它的维护和阅读要容易得多:

$message = <<<EOL
Name: {$row['first_name']} {$row['surname']}
Date of birth:  {$row['dob']}
etc...
EOL;

$message=您可以通过使用字符串插值来避免连接:

$message = "
Name: {$row['first_name']} {$row['surname']} 
Date of birth: {$row['dob']} 
Address: {$row['house']}  {$row['street']} {$row['town']}  {$row['postcode']} 
Application type: $name
Price: $a
Country of birth: {$row['origin']}
Phone number: {$row['number']} 
Email: {$row['email']}";

变量之间缺少连接运算符-
$row['first\u name']$row['names']
应该是
$row['first\u name']$行['姓氏]
。地址行也是如此。这可能是一个确保您已打开错误报告的想法。这将是一种比使用堆栈溢出更有效的语法检查方法…变量$name和$a呢?我只是把它们放在raw中吗?是的,它们将被插值。大括号仅适用于数组中的
'string'
索引。