0

我正在尝试将服务器端的 PHP 联系表单包含在另一个页面上,并在提交时重定向到感谢页面。

表单在页面页面中作为包含如下:

<div id="formArea">
<?php include 'form.php'; ?>
</div>

并且目前将重定向设置为:

header("Location: thankyou.php");

该表格工作正常,消息将发送到我的收件箱。还要注意的是,当 form.php 页面按原样打开而没有包含时,它实际上会重定向到thankyou.php

知道如何完成这项任务吗?

谢谢

4

1 回答 1

1

您尝试在发送标头设置 HTTP 标头(因为您已经开始输出 HTML),因此重定向标头Location永远不会与请求一起发送到服务器。

服务器端解决方案

您必须在任何输出之前调用该header()函数。

客户端解决方案

如果您仍然坚持在form.php中进行重定向,您可以进行 JavaScript(客户端)重定向:

<script type="text/javascript">window.location = "someurl.php";</script>

调试

我还建议您在开发应用程序时启用警告和错误(请记住在生产中禁用!)因为您的代码应该产生headers_sent警告。.

ini_set( 'display_errors', 'on' );
error_reporting( E_ALL );
于 2013-02-27T16:47:59.727 回答