0

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);
} 
?>

どんな助けでも素晴らしいでしょう。

ありがとう

4

2 に答える 2

0

コードには、次のようなリダイレクト コードが必要です。

<?php
/* Redirect browser */
header("Location: http://www.brisbanediveacademy.com.au/");
?>
于 2012-10-18T06:52:17.380 に答える
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:..')は、エコーのような何らかの出力指向のコードがあることを意味します。エラー ログの設定を見つけて、エコーを確認します。できれば、mail.php の 37 行目で確認できます。ほとんどの場合、php conf に display_errors true があり、error_reporting が最低レベルに設定されていることが原因です。そのため、NOTICE が生成された場合でも、その前にヘッダーが設定されます。これらの行を直後に追加します<?php

    error_reporting(E_ERROR);
    ini_set('display_errors','false');

2行目だけでも構いません。

編集:あなたが尋ねたように、このコード行でリダイレクトが可能です。

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

ファイルにこのコード行がない場合は、要件に対して正しいことを行っていることを確認してください。

これが何らかの形で役立つことを願っています。

于 2012-10-18T06:20:57.060 に答える