phpお問い合わせフォーム基本フォーマット

企業サイトの構築で、設置機会の多いお問い合わせフォームですが、
フリーの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>

あわせて読みたい

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

WP-SpamFree by Pole Position Marketing