8月 30, 2009 0
PHPで問い合わせフォーム
簡単に使えるPHPで作成したフリーのメールフォームのサンプルです。
3行目と4行目を自分の環境に書き換えて使用してください。
<?php
$site = 'マイサイト名';
$mail = 'xxx@xxx.com';
$mail_name = @$_POST['mail_name'];
$mail_addr = @$_POST['mail_addr'];
$mail_subj = @$_POST['mail_subj'];
$mail_body = @$_POST['mail_body'];
$error = '';
$mess = '';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($mail_name) === true) {
$error = '名前が入力されていません。';
} elseif (empty($mail_addr) === true) {
$error = 'メールアドレスが入力されていません。';
} elseif (
(ereg("^[{a-zA-Z0-9}_\.\-]+@([{a-zA-Z0-9}_\-\.]+\.[{a-zA-Z0-9}]+$)", $mail_addr, $regs) === false) ||
(getmxrr($regs[1], $mxha) === false)) {
$error = 'メールアドレスが不正です。';
} elseif (!$mail_subj) {
$error = 'タイトルが入力されていません。';
} elseif (!$mail_body) {
$error = '本文が入力されていません。';
} else {
mb_internal_encoding("utf-8");
mb_language("japanese");
$result = @mb_send_mail(
$mail,
$site . ' 問い合わせメール',
'送信者情報' . "\n" .
'IPアドレス : ' . $_SERVER["REMOTE_ADDR"] . "\n" .
'UserAgent : ' . $_SERVER["HTTP_USER_AGENT"] . "\n" .
"\n" .
'問い合わせ内容' . "\n" .
'名前 : ' . $mail_name . "\n" .
'メールアドレス : ' . $mail_addr . "\n" .
'タイトル : ' . $mail_subj . "\n" .
'本文 : ' . "\n" . $mail_body,
'From: ' . $mail_addr);
if ($result === false) {
$error = 'メールの送信に失敗しました。';
} else {
$mess = 'メールの送信が完了しました。';
}
}
}
$contents = '<html>
<head>
<title>コンタクトフォーム</title>
</head>
<body>' . ((empty($error) === true) ? '' : '<div style="color: #f00; font-weight: bold;">' . $error . '</div>') .
((empty($mess) === true) ? '' : '<div style="color: #00f; font-weight: bold;">' . $mess . '</div>') . '
<form method="post" action="' . $_SERVER['PHP_SELF'] . '">
<label for="mail_name">名前:</label> <span style="color: #f00;">*</span><br />
<input type="text" name="mail_name" id="mail_name" size="30" value="' . $mail_name. '" ' . ((empty($mess) === true) ? '' : 'disabled') . ' /><br />
<label for="mail_addr">メールアドレス:</label> <span style="color: #f00;">*</span><br />
<input type="text" name="mail_addr" id="mail_addr" size="30" value="' . $mail_addr. '" ' . ((empty($mess) === true) ? '' : 'disabled') . ' /><br />
<label for="mail_subj">タイトル:</label> <span style="color: #f00;">*</span><br />
<input type="text" name="mail_subj" id="mail_subj" size="30" value="' . $mail_subj. '" ' . ((empty($mess) === true) ? '' : 'disabled') . ' /><br />
<label for="mail_body">本文:</label> <span style="color: #f00;">*</span><br />
<textarea name="mail_body" id="mail_body" rows="10" cols="50" ' . ((empty($mess) === true) ? '' : 'disabled') . '>' . $mail_body. '</textarea><br />
<input type="hidden" name="mode" value="mail" />
<input type="submit" name="mail" value="送信" onClick="this.disabled=true; this.form.submit();" ' . ((empty($mess) === true) ? '' : 'disabled') . ' />
</form>
</body>
</html>
';
print $contents;
?>