1

Web サイトに連絡先フォームを追加しようとしていますが、[送信] をクリックするたびに黒いウィンドウが表示され、アドレス バーに contact.php と表示されます。また、リダイレクトされません。私のウェブサイトは、Google アプリ エンジンを使用してアプリケーションとしてホストされています。

私は文字通りすべてを試しましたが、うまくいきません。

以下は私のHTMLコードです:

<form action="contact.php" method="post">
    <p>Your name</p>
    <input type="text" name="name"/>
    <p>Your e-mail</p>
    <input type="text" name="email"/>
    <p>Message</p>
    <textarea name="message"></textarea>
    <input type="submit" value="Send"/>
    <input type="reset" value="Clear"/>
</form>

ここに私のPHPコードがあります:

<?php
$field_name = $_POST['name'];
$field_email = $_POST['email'];
$field_message = $_POST['message'];

$mail_to = 'email@here.com';
$subject = 'Message from a site visitor '.$field_name;

$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Message: '.$field_message;

$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";

$mail_status = mail($mail_to, $subject, $body_message, $headers);

if ($mail_status) { ?>
    <script language="javascript" type="text/javascript">
        alert('Thank you for the message.');
        window.location = 'contact.html';
    </script>
<?php
}
else { ?>
    <script language="javascript" type="text/javascript">
        alert('Message failed.');
        window.location = 'contact.html';
    </script>
<?php
}
?>
4

3 に答える 3

2

メール サーバーが必要です。PHP 自体はメールを送信しません。最初に 1 つインストールします。そうです、テキスト領域には終了タグがありません。

于 2013-01-24T05:34:34.880 に答える
0

フォームに textarea の終了タグがありません。サーバーで contact.php としてコードを試してみましたが、動作します。イタチに同意します。エラー報告をオンにする必要があります。

contact.php を完全なページにして、リダイレクトを完全に削除してみませんか?

于 2013-01-24T05:31:23.307 に答える
0

私のためにうまく働いています。フィールドに値がない場合、 if else 条件が正しく機能しない場合でも、ありがとうメッセージが表示されます。

于 2013-01-24T05:35:08.857 に答える