联系表单iframe重定向

时间:2012-10-18 04:40:37

标签: php forms iframe

我在http://www.brisbanediveacademy.com.au使用php制作了一个联系表单。我正在尝试让它在提交表单后重定向到iframe中的新页面。此刻,我无法将其重定向到任何地方。

这是我的PHP

<?php 
$errors = '';
$myemail = 'enquiries@brisbanediveacademy.com.au';
if(empty($_POST['name'])  || 
   empty($_POST['email']) || 
   empty($_POST['message']))
{
    $errors .= "\n Error: all fields are required";
}
$name = $_POST['name'];
$contact = $_POST['number'];
$inquiry = $_POST['inquiry'];  
$email_address = $_POST['email']; 
$message = $_POST['message']; 
if (!preg_match(
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", 
$email_address))
{
     $errors .= "\n Error: Invalid email address";
}
if( empty($errors))
{
    $to = $myemail; 
    $email_subject = "Website contact Form Enquiry: $inquiry";
    $email_body = "You have received a new message. ".
    " Here are the details:\n Name: $name \n Email: $email_address \n Contact Number:  $contact \n Message: \n $message"; 
    $headers = "From: $myemail\n"; 
    $headers = "Reply-To: $email_address";"\r\n";
    mail($to,$email_subject,$email_body,$headers);
} 
?>

任何帮助都会很棒。

由于

2 个答案:

答案 0 :(得分:0)

我可以看到此错误报告

Warning: Cannot modify header information - headers already sent by (output started at /home/brisbane/public_html/contact/mail.php:9) in /home/brisbane/public_html/contact/mail.php on line 37

这意味着header('Location:..')之前的代码具有某种面向输出的代码,如echo。找到错误日志的设置,检查回声。您最好查看mail.php的第37行。这主要是因为你的php conf有display_errors为true而error_reporting设置为最低级别。因此,即使生成了NOTICE,它也会在您执行之前设置标题。在<?php

之后添加这些行
    error_reporting(E_ERROR);
    ini_set('display_errors','false');

即使是第二行也只会这样做。

编辑:  正如您所问,使用这行代码可以进行重定向。

header("Location: url-to-redirect");

如果您的文件中没有这行代码,请验证您是否按照您的要求做了正确的事情。

希望这会有所帮助。

答案 1 :(得分:0)

在代码中你应该有一个重定向代码,如下所示,

<?php
/* Redirect browser */
header("Location: http://www.brisbanediveacademy.com.au/");
?>