お問い合わせフォーム用にホストからこのコードを受け取りました
<?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。私は彼らに連絡しましたが、具体的な解決策を得ることができませんでした。また、一部のホストは、顧客が人や何かにスパムを送信するのを制御/防止するために、意図的にこれを行っていると聞きました。終了しないでください。お願いします、あなたの助けが必要です。