-2

お問い合わせフォーム用にホストからこのコードを受け取りました

<?php
$request_method = $_SERVER["REQUEST_METHOD"];
if($request_method == "GET")
{
    $query_vars = $_GET;
} 
elseif ($request_method == "POST")
{
    $query_vars = $_POST;
}

reset($query_vars);
$t = date("U");
$file = $_SERVER['DOCUMENT_ROOT'] . "\ssfm\gdform_" . $t;
$fp = fopen($file,"w");

while (list ($key, $val) = each ($query_vars)) 
{
    fputs($fp,"<GDFORM_VARIABLE NAME=$key START>\r\n"); 
    fputs($fp,"$val\r\n");
    fputs($fp,"<GDFORM_VARIABLE NAME=$key END>\r\n");
    if ($key == "redirect") 
    { 
        $landing_page = $val;
    }
}

fclose($fp);

if ($landing_page != "")
{
    header("Location: http://".$_SERVER["HTTP_HOST"]."/$landing_page");
} 
else 
{
    header("Location: http://".$_SERVER["HTTP_HOST"]."/");
}
?>

これを使うことにしました

<?php 
if ($_POST['parse_Var'] == "test_contact") {
    $email_title = 'New Email From Your Website';
    $my_email = 'alexeisrico@gmail.com';

    $email_field = $_POST['email'];
    $name_field = $_POST['name'];
    $message_field = $_POST['message'];

    $body = <<<EOD
<br><hr><br>
    Email: $email_field <br/>
    Name: $name_field <br/>
    Message: $message_field <br/>

EOD;

    $headers = "From: $email_field\r\n";
    $headers .= "Content-type: text/html\r\n";
    mail("$my_email", "$email_title", "$body", "$headers");

    header("location: http://www.phweshdeals.com/thanks.html");

}

?>

PHP 拡張機能を使用した HTML フォームは次のとおりです。

<form action="config/test_contact.php" method="post">
                <ul>
                    <li><label for="name">Name:</label></li>
                    <li><input id="name" class="field" name="name" value="<?php print "$name_field"; ?>" placeholder="enter your name..." type="text" required><em>*required</em></li>


                    <li><label for="email">Email:</label></li>
                    <li><input id="email" class="field" name="email" value="<?php print "$email_field"; ?>" placeholder="enter your email..." type="email" required><em>*required</em></li>


                    <li>
                        <label for="message">Your Message</label>
                    </li>
                    <li>
                        <textarea id="message" name="message" value="<?php print "$messgae_field"; ?>" autocomplete="on" placeholder="type your message here..."></textarea><em>*required</em>
                    </li>


                    <li><input type="checkbox" required></li>
                    <li class="confirm">Confirm you are NOT a spammer</li>

                    <li><input type="submit" value="submit" style="background-color:#287472;
                        color:#fff;text-shadow:1px 1px #000; text-transform:uppercase;
                         font-weight:bold; border-radius:5px;"
                      id="submit_button"></li>
                      <input type="reset" value="clear!" style="background-color:#287472;
                        color:#fff;text-shadow:1px 1px #000; text-transform:uppercase;
                         font-weight:bold; border-radius:5px;"
                      id="reset_bg">
                </ul>
                <input type="hidden" name="parse_Var" id="parse_Var" value="test_contact">

        </form>

ホストの php コードを使用すると、クライアントがフォームに入力した場合にキャプチャしたいすべての入力フィールドがキャプチャされません。私は自分のものを作成することにしましたが、まったく機能しません。送信をクリックすると、ブラウザにこのメッセージが表示されます。"入力ファイルが指定されていません。"。

私はさまざまなphpフォーム形式を試しましたが、うまくいきませんでした。問題は私のホストにあるのでしょうか? ちなみにこれは私のホストです。www.websitepalace.com。私は彼らに連絡しましたが、具体的な解決策を得ることができませんでした。また、一部のホストは、顧客が人や何かにスパムを送信するのを制御/防止するために、意図的にこれを行っていると聞きました。終了しないでください。お願いします、あなたの助けが必要です。

4

1 に答える 1

0

他にも問題があるかもしれませんが、私が最初に目にしたのは、すべての入力フィールドで value 属性を更新して、PHP 変数から引用符を削除することです。

print "$name_field";

print $name_field;
于 2013-11-06T14:09:07.477 に答える