新手求解!!Cannot modify header information…的问题TAT

Jellypowder Jellypowder 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我想用PHP contact form做一个inquiry page, 让人填上姓名、电话、email等, 按”send”就会将以上资料变成email 发到我的mail box

但其实我是新手…整个contact form基本上是用这个网教的抄抄改改出来的: http://myphpform.com/php-form-tutorial.php

按了”send”后我想网页跳到thank you page, 但会出现”Cannot modify header information – header already sent by (output started at C:\inetpub\wwwroot\contant2.php:1) in C:\inetpub \wwwroot\contant2.php on line 34” 这个问题

*Line34 = header('location:ThankYou.html');

我找过解决方法, 试了
1. 在header后加exit();
2. 加上<?php ob_start(); ?>和ob_end_flush();

最后是可以成功寄出email, 资料有遗漏也会跳到error page, 但都是无法去到thank you page…都是会出现Cannot modify header information(略)

请问我加exit / ob_start的地方有错吗? 还是有什么其他问题呢?
麻烦各位高手帮忙看看><"

以下是代码

P.S.我是用notepad做这个php档的



<?php ob_start(); ?>
<?php
date_default_timezone_set('Asia/Hong_Kong');
ini_set("sendmail_from","*****@yahoo.com");
ini_set("SMTP","smtp.wtt-mail.com");

$myemail = "**********@yahoo.com";
$company = check_input($_POST['company'], "Please enter your company's name");
$person = check_input($_POST['person'], "Please enter your name");
$tel = check_input($_POST['tel'], "Please enter your contact number");
$email = check_input($_POST['email'], "Please enter your E-mail");
$subject = "Online Enquiry";

if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
{
show_error("E-mail address not valid");
}
if (!preg_match("/^(https?:\/\/+[\w\-]+\.[\w\-]+)/i", $website))
{
$website = '';
}
$message = "Hello!
Contact form has been submitted by:
Company Name: $company
Contact Person: $person
Tel: $tel
E-mail: $email
Content:
$content
End of message

";
mail($myemail,$subject,$message);
header('location:ThankYou.html');
exit();
function check_input($data, $problem='')
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0)
{
show_error($problem);
}
return $data;
}
function show_error($myError)
{
?>

<html>
<head>
<title>Order form error</title>
<style type="text/css">
.style2 {
text-align: center;
border-width: 0px;
}
</style>
</head>
<body>

<MARQUEE direction="right" hspace="200" vspace="50" behavior="alternate">
<H2><b>Please correct the following error:</b><br /><H2>
<H2><?php echo $myError; ?><H2>
</MARQUEE>

<p>
<p class="MsoNormal" align="center">
<input type="button" value=" Back to previous page " onclick="history.back()">
<p class="MsoNormal" align="center">
</p>

</body>
</html>
<?php
exit();
}
ob_end_flush();
?>



...全文

相关推荐

产业园区运营负责人如何提升园区内企业技术需求的响应效率?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

产业园区运营负责人如何精准对接企业技术需求与科研资源?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

职业技能竞赛技术文件 评分采用主观评价与客观测量相结合的方式,并依据特定优先级处理成绩并列情况

; 阅读建议:此资源以开发简化版Spring学习其原理和内核,不仅是代码编写实现也更注重内容上的需求分析和方案设计,所以在学习的过程要结合这些内容一起来实践,并调试对应的代码。

洛卡纳哈

TFGEN network testing tool

源码链接: https://pan.quark.cn/s/3010d7c65ee5 TFGEN网络测试工具是一种功能强大的流量生成解决方案,主要用于对网络性能及稳定性进行评估。该工具能够支持单一节点通信、多节点组播以及广播式数据传输的生成,为网络管理员和开发人员提供了一种有效验证网络设备与协议处理效能的途径。 在详细探讨TFGEN之前,有必要先明确网络测试的定义。网络测试是指对网络性能、可靠程度及安全防护能力进行系统性评估的过程,其目的是确保网络设施能够正常运行,满足用户使用要求,并在问题发生时进行故障诊断。TFGEN在网络测试领域的应用主要是通过模拟多种类型的网络流量,用以检测网络在不同负载条件下的运行状态。 TFGEN的核心功能包含以下方面: 1. **流量模拟**:TFGEN能够生成具有可调整参数的网络流量,如数据包尺寸、传输速率、协议种类等,用以模拟现实环境中的网络活动。这对于检验网络设备的带宽分配、拥塞管理以及服务质量策略的执行效果具有关键意义。 2. **多模式流量支持**:TFGEN兼容单一节点、多节点组播和广播这三种流量模式,使其能够适应多样化的应用场景。单一节点通信适用于点对点的数据交换,组播机制适合高效的一对多数据传输,而广播通常用于局域网内的信息传播和故障定位。 3. **参数可调性**:用户可通过修改参数来设定测试环境,例如设定传输速率、数据包时间间隔、源地址与目标地址等,从而更精确地再现特定的网络状况。 4. **资料文档**:附带的`changelog`文件记录了TFGEN的版本迭代历史,用户可通过此了解软件的改进与新增特性;`tfgen.hlp`文件提供使用TFGEN的详细说明和操作指南;`install.txt`文档则包含了安...

bnpack

​带标注的警察民警识别yolo模型,可识别警察和非警察2种标签,平均识别率81.54%

预览数据集中的图片,标注信息,模型训练代码可点击查看我的博客链接:https://blog.csdn.net/pbymw8iwm/article/details/161479372 模型训练和使用方法可免费技术咨询作者,主页可添加

前网易架构师-高司机
评论 8
收藏 已收藏
分享
返回顶部
Jellypowder
基础编程 21,889 成员 140,329 内容