単純なPHPmail()関数を使用して、Webサイトからユーザーフィードバックを作成しようとしています。W3の「PHPSecureE-mail」サンプルスクリプトをベースとして使用しています。電子メールの性質上、セキュリティを強化したり、このトピックに関連する他の投稿で提案されているライブラリ(swift mailerなど)を使用したりする必要はありません。
基本フォームがロードされ、[メールの送信]ボタンが選択されると、「サーバーエラー」メッセージと次のサポート情報が表示されます。
「 http://www.examplewebsite/formsuccessful.php?forename=Joe&surname=Blogs&email=j.oe.blogs%40example.co.uk&subject=TEST+2&message=Test+Contentの取得中にウェブサイトでエラーが発生 しました。メンテナンスまたは正しく構成されていません。」
ファイル'formsuccessful.php'ファイルは、サーバーの正しいフォルダーにあります。このタイプのPHPスクリプトを有効にするために見落としている別の設定がない限り、
エラーが発生した場合に備えて、フォームとPHPコードの両方を以下に含めました。
確かに助けていただければ幸いです。私はこれで家の周りを踊りましたが、木から木が見えなくなってしまいました。
乾杯。
PHP:
<?php
function spamcheck($field)
{
$field1=filter_var($field, FILTER_SANITIZE_EMAIL);
if(filter_var($field1, FILTER_VALIDATE_EMAIL))
{
return TRUE;
}
else
{
return FALSE;
}
}
if (isset($_REQUEST['email']))
{
$mail = $_REQUEST['email'];
$mailcheck = spamcheck($mail);
if ($mailcheck==FALSE)
{
echo "Invalid input";
}
else
{
$email = $_REQUEST['email'] ;
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;
$name = $_REQUEST['forename']." ".$_REQUEST['surname'];
mail("admin@examplewebsite.com", "Subject: "$subject,
"Message: "$message, "From: "$email," ",$name );
}
}
else{
//reload page with message highlighting error
}
?>
HTMLフォーム:
<form method="REQUEST" action="formsuccessful.php">
<fieldset class="master">
<legend class="master" style="text-align:left;"><b><u>Personal Details:</u></b></legend>
<ol class="master">
<li class="master"><label class="master" for"forname">Forename<em class="master">*</em></label><input class="left" type="text" name="forename" size="30" /></li>
<li class="master"><label class="master" for"surname">Surname<em class="master">*</em></label><input type="text" name="surname" size="30" /></li>
<li class="master"><label class="master" for"email">Your Email<em class="master">*</em></label><input type="text" name="email" size="30" /></li>
</ol>
<legend class="master" style="text-align: left;"><b><u>Email Contents:</u></b></legend>
<ol class="master">
<li class="master"><label class="master" for="subject">Subject:<em class="master">*</em></label><input type="text" name="subject" size="30" /></li>
<li class="master"><label class="master" for="message">Content:<em class="master">*</em></label><textarea cols="50%" rows="20" onkeyup="checkContent()" name="message" id="message"></textarea></li>
<li class="master"><input type="submit" value="Send Email" /></li></ol>
</fieldset>
</form>
犯罪的に明白なことを私に指摘してもらうために待機しています。