企業サイトの構築で、設置機会の多いお問い合わせフォームですが、
フリーのcgiを使うと細かい融通が利かない事もしばしば・・・。
phpを使えば意外と簡単に自作できるので、私が使用しているテンプレートを
公開します。需要がありましたらご自由にお使いください。
<?php echo '<?xml version="1.0" encoding="shift_jis"?>'."\n" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<title>お問い合わせフォーム</title>
</head>
<body>
<?php
$error = "";
$flg = false;
if(isset($_POST['SUBMIT']) == "SUBMIT"){
$name = $_POST['name'];
$mail = $_POST['mail'];
$memo = $_POST['memo'];
$name = htmlspecialchars($name);
$mail = htmlspecialchars($mail);
$memo = htmlspecialchars($memo);
if($name == ""){
$error = "お名前";
}elseif($mail == ""){
$error = "メールアドレス";
}else{
$flg = true;
$datetime = date("Y/m/d H:i:s");
$ip = getenv("REMOTE_ADDR");
}
}
if($error != ""){
echo "<span style=\"color:#f00;\">
エラー:{$error}が入力されていません。
</span>";
}
if($flg == false){
echo <<< END
<form action="" method="post">
<dl>
<dt>お名前</dt>
<dd>
<input name="name" type="text" size="50" value="{$name}" />
様 <span style="color:#f00;">※必須</span>
</dd>
<dt>メールアドレス</dt>
<dd>
<input name="mail" type="text" size="50" value="{$mail}" />
<span style="color:#f00;">※必須</span>
</dd>
<dt>ご用件</dt>
<dd>
<textarea name="memo" cols="60" rows="10">{$memo}</textarea>
</dd>
</dl>
<input name="SUBMIT" type="submit" value="送信する" />
</form>
END;
}else{
echo <<< END
送信が完了しました。
END;
}
if($flg === true){
$to = "user@domain";//問い合わせ先のメールアドレスに変更する
$subject = "お問い合わせがありました";
$subject = "=?Shift_jis?B?" . base64_encode($subject) . "?=";
$body = "名前:\n$name\nメールアドレス:\n$mail\n
問い合わせ内容:\n$memo\nお問い合わせ日時:\n$datetime\nIPアドレス:\n$ip";
$headers = "From: {$mail}";
mail($to,$subject,$body,$headers);
}
?>
</body>
</html>