0

送信連絡フォームの簡単なチュートリアルに従いましたが、機能していないようです。誰か助けてください。

以下のフォーム:

<table width="400" border="0" cellspacing="1" cellpadding="0" align="center">
    <tbody>
        <tr>
            <td>
                <form action="send.php" method="post" name="form1">
                    <table width="100%" border="0" cellspacing="1" cellpadding="3">
                        <tbody>
                            <tr>
                                <td width="16%">Name</td>
                                <td width="2%">:</td>
                                <td width="82%"><input id="Name" type="text" name="Name" size="50" /></td>
                            </tr>
                            <tr>
                                <td>Email</td>
                                <td>:</td>
                                <td><input id="customer_mail" type="text" name="customer_mail" size="50" /></td>
                            </tr>
                            <tr>
                                <td>Subject</td>
                                <td>:</td>
                                <td><input id="Subject" type="text" name="Subject" size="50" /></td>
                            </tr>
                            <tr>
                                <td>Detail</td>
                                <td>:</td>
                                <td><textarea id="detail" cols="50" name="detail" rows="4"></textarea></td>
                            </tr>
                            <tr>
                                <td></td>
                                <td></td>
                                <td><input type="submit" name="Submit" value="Submit" /> <input type="reset" name="Submit2" value="Reset" /></td>
                            </tr>
                        </tbody>
                    </table>
                </form>
            </td>
        </tr>
    </tbody>
</table>

そして、ここに私のPHPがあります:

<?php
    $to ='kirsty.harris1985@gmail.com';

    $header="from: $name <$mail_from>";

    $mail_from="$customer_mail";
    $Subject="$Subject";
    $detail="$detail";

    $send_contact=mail($to,$header,$Subject,$detail);

    if($send_contact){
        echo "We've recived your contact information";
    } else {
        echo "ERROR";
    }
?>

これはエラーです:

サーバー エラーhttp://nqmedia.co.uk/send_contact.phpの取得中に Web サイトでエラーが発生しました。メンテナンスのために停止しているか、正しく構成されていない可能性があります。いくつかの提案があります: この Web ページを後でリロードします。HTTP エラー 500 (内部サーバー エラー): サーバーが要求を実行しようとしているときに、予期しない状況が発生しました。

また、ウェブサイトは www.nqmedia.co.uk で、人々が見ることができます。

4

3 に答える 3

0

PHP を次のように変更します。

<?php
    $to ='kirsty.harris1985@gmail.com';
    $name = $_POST['name'];
    $customer_mail = $_POST['customer_mail'];
    $Subject = $_POST['Subject'];
    $detail = $_POST['detail'];

    $header="From: $name <$customer_mail>";

    $send_contact=mail($to,$Subject,$detail,$header);

    if($send_contact){
        echo "We've recived your contact information";
    } else {
        echo "ERROR";
    }

?>
  1. 変数が適切に定義されていません$_POST。フォームから値を取得するために使用する必要がありました。

  2. $mail_from(現在$customer_mail) は、定義される前に使用されました。

  3. 関数の で使用されているパラメータmail()が間違った順序で使用されています。http://php.net/manual/en/function.mail.phpを見てください。

  4. actionフォームの属性を確認してください。「send.php」と表示されますが、エラーには「send_contact.php」と表示されます

于 2013-03-02T21:08:24.993 に答える
0

入力にそれに応じた名前が付けられている場合、これを試してください:

$name = $_POST['Name'];
$mail_from = $_POST['customer_mail'];
$header = "from: $name <$mail_from>";
$Subject = $_POST['Subject'];
$detail = $_POST['detail'];
于 2013-03-02T21:13:37.207 に答える
0

実際にすべての投稿値を取得することはありません。

これを send.php のコードにします。

<?php 
$name = $_POST['Name'];
$mail_from = $_POST['customer_mail'];
$subject = $_POST['Name'];
$body = $_POST['detail'];

$to ='kirsty.harris1985@gmail.com';

$header="from: $name <$mail_from>";

$send_contact=mail($to,$Subject,$body,$header);

if($send_contact){
echo "We've received your contact information";
}
else {
echo "ERROR";
}
?>

また、echo の「received」のつづりが間違っていたので、つづりを修正しました。

于 2013-03-02T21:14:59.723 に答える