【发布时间】:2015-04-14 02:42:32
【问题描述】:
我正在学习 WordPress 和 PHP,并在 www.sunriselodging.com 建立一个网站
尝试在表单中输入数据时,我在第 6 行收到一条 PHP 错误警告,提示“标题可能不包含多个标题”。我尝试了一些解决方案,例如检查与 PHP 无关的 URL。我在这里阅读了一些依赖于 PHP 的解决方案,因此我无法弄清楚这里需要做什么。
我的代码如下:
<?php
$reservation_message = $_POST['reservation_message'];
// Redirect back
Header('Location: '. $_POST['reservation-url'].'?message='.$reservation_message);
echo "<meta charset='utf-8'>";
// Loading variables from form
$blog_name = $_POST['blog_name'];
$blog_email = $_POST['blog_email'];
$reservation_email_subject = $_POST['reservation_email_subject'];
$reservation_email = $_POST['reservation_email'];
$reservation_email_switch = $_POST['reservation_email_switch'];
$room = $_POST['reservation-room'];
$checkin = $_POST['reservation-checkin'];
$checkout = $_POST['reservation-checkout'];
$people = $_POST['reservation-people'];
$name = $_POST['reservation-name'];
$email = $_POST['reservation-email'];
$phone = $_POST['reservation-phone'];
$message = $_POST['reservation-message'];
if($reservation_email_switch == 'on'){
// EMAIL TO CLIENT
// SET info to email
// From in format NAME <email>
$from = $blog_name.'<'.$blog_email.'>';
// Reply to in format NAME <email>
$reply = $blog_name.'<'.$blog_email.'>';
// Subject
$subject = $reservation_email_subject;
// Message
$message = $reservation_email;
//
$to = $email;
$headers = 'From: '. $from . "\r\n" .
'Reply-To: '. $reply . "\r\n" .
'X-Mailer: PHP/' . phpversion();
// Send mail
mail($to,$subject,$message,$headers);
// END OF EMAIL TO CLIENT
// ---------------------
}
// EMAIL TO RESERVATION CREW
$message = $_POST['reservation-message'];
$headers = 'From: '. $name . '<' . $email . '>' . "\r\n" .
'Reply-To: '. $name . '<' . $email . '>' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$subject = 'Reservation for room #' . $room;
$message = 'Name: ' . $name . '
Room: #' . $room . '
Check in: ' . $checkin . '
Check out: ' . $checkout . '
Number of people: ' . $people . '
Email: ' . $email . '
Phone: ' . $phone . '
' . $message;
$to = $blog_email;
// Send mail
mail($to,$subject,$message,$headers);
// END OF EMAIL TO RESERVATION CREW
// ---------------------
exit();
?>
表单的 URL 在这里 - http://www.sunriselodging.com/reservation/。显然该表格也没有发送电子邮件。有人可以看看这个并告诉这里的代码有什么问题吗?
如果有人能指导我为初学者提供一个很好的在线 PHP 课程(如果免费的话,那就太好了),我也将不胜感激。
谢谢,
阿迪
【问题讨论】:
-
标头位置后的任何代码都不会运行
-
标头运行后的@aadi 代码。您应该始终在标头之后放置和 exit() 或 die() 以防止进一步的代码执行。
-
感谢您的回复。我对 PHP 完全陌生,无法找出解决方案。你能告诉我我可以用代码做什么来让它工作吗?
-
@aadi php.net/manual/en/function.header.php 你应该做广告'exit;'在你的标题之后。不确定这是否重要,但我认为“标题”应该更低。
-
感谢@bassxzero,我尝试同时添加 exit();并退出;现在它给出了“(T_CONSTANT_ENCAPSED_STRING)”错误。我该怎么办?
标签: php wordpress error-handling