0

PHP初心者なので困っています。簡単な連絡先フォームを作成しましたが、メッセージを送信した後 (すべて正常に動作します)、空白のページが表示されます。ページに戻ってcontact.html「正常に送信されました」というメッセージを表示する方法はありますか?

<?php
    if(isset($_POST['submit'])) {
        $to ='contact@centurioagency.com';
        $subject =$_POST['subject']; 
        $headers  = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
        $message = "
                <html>
                    <head>
                        <title>$_POST['subject']</title>
                    </head>
                    <body>
                        <b>Person: </b>    ".$_POST['name']." </br>
                        <b>Email: </b>     ".$_POST['email']." </br>
                        <b>Message: </b>   ".$_POST['detail']." </br>
                    </body>
                </html>" ;
     mail($to, $subject, $message, $headers);
    }
?>
4

4 に答える 4

1

ヘッダー関数を使用してリダイレクトできます。

header('Location: contact.php?msg=Mail Sent');
exit;

contact.php

if(isset($_GET['msg'])){
    echo $_GET['msg'];
}
于 2013-04-24T11:40:28.797 に答える
0

HTML ファイルでは PHP を使用できないため、最初に contact.html を contact.php に変更してから、次のようにします。

これを試して:

if (mail($to, $subject, $message, $headers)) {
 header("location:contact.php?msg=sent successfully");
}

contact.php で

if(isset($_GET['msg'])) {
 echo $_GET['msg']
}
于 2013-04-24T11:41:22.877 に答える
0

html ページではクエリ文字列を取得できないため、php ページとして変換する必要があります。

    <?php


    header('Location: contact.php?msg=sent successfully');
    ?>

contact.php page 

    <?php

    if($_GET['msg'])
    { ?>
    <p>
    Message has been sent successfully.
    thank you.

    </p>

<?php }

 ?>

その他の解決策:

メッセージ用の新しいページ Thankyou.html を作成し、これを使用します

<?php


header('Location: Thankyou.html');
?>
于 2013-04-24T11:42:28.997 に答える