-2

私は非常にシンプルで非常に簡単な連絡フォームに取り組んでおり、別のページでそれを行ったときは完全に機能しましたが、現在のWebサイトに追加すると、$_POSTを取得できません。理由はわかりません。ここにコードがあります

$to ="enter email here";
        $name = $_POST["name"];
        $email = $_POST["email"];
        $header = "From " . $name;
        $message = $_POST["message"];
        $content = "From: ". $name ."<br /> Email: " . $email ."<br /> Message: " . $message;

        if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
            echo "illegal email";
        }
        else
            {
            if (!empty($name) && !empty($message)){
                mail($to, $header, $content);
                echo"sent <br />";
                echo $content;
            }else
                {
                if(empty($email))
                    {
                        echo "your email is empty";
                    }
                    elseif(empty($name))
                    {
                        echo "please enter your name";
                    }
                    elseif(empty($message)){
                        echo "can't send empty messages";
                    }
                }   
            }

html

<form method="post" action="mail.php">
        <table>
            <tr>
                <td>
                Name:
                </td>
                <td>
                    <input type="text" name="name" />
                </td>
            </tr>
            <tr>
                <td>
                     Email:
                </td>
                <td>
                     <input type="text" name="email"/>
                </td>
            </tr>
            <tr>
                <td>
                     Subject:
                </td>
                <td>
                     <input type="text" name="subject"/>
                </td>
            </tr>
            <tr>
                <td>
                    Message: <br /><br/><br/>
                </td>
                <td>
                    <textarea style="resize:vertical;" name="message"></textarea>
                </td>
            </tr>
            <tr>
                <td>

                </td>
                <td>
                    <input type="submit"/>
                </td>
            </tr>
        </table>
    </form>

よろしくお願いします。繰り返しの場合は申し訳ありません。

4

2 に答える 2

1

次のようなものを先頭に追加して、PHP が実際に実行されていることを確認します。

echo "Testing PHP...";

フォームを送信した後にその出力が表示されない場合は、フォームを正しいファイルに投稿していることを確認してください。たとえば、次を使用する必要がある場合があります。

<form method="post" action="/mail.php">

また

<form method="post" action="/php/mail.php">

...ウェブサイトの構造に応じたコード。

于 2012-09-27T00:47:18.513 に答える
0

壊れているのは確かに $_POST ではないため、サーバーに関連するものか、コードのエラーである必要があります。

フォームをインポートする Web サイトに他の PHP がありますか? もしそうなら、それが何らかの形でそれに影響を与えていないことを確認する必要があります.

もう 1 つ確認する必要があるのは、PHP の更新により、アップロードの制限サイズが誤って「8M」から「10MB」に変更されたことが報告されていることです。php.ini ファイルをスキャンして、アップロード制限に「M」ではなく不要な「MB」がないことを確認してください。

この後も原因が見つからない場合は、次を使用してみてください。

<?php var_dump($_POST); ?> 

本当にそこにあるものを明らかにする必要があります。

于 2012-09-27T00:44:40.533 に答える