2012.10.15
php

メールフォーム

PHPを使った簡単なメールフォームを作ってみました。

せっかくなのでソースを紹介します。

メールフォーム

今回はmailform01.htmlとcomplete01.phpという名前の2つのファイルを使います。

  • mailform01.htmlのソース

HTML

<h1>メールフォーム</h1>
<form action="complete01.php" method="post">
<ul>
<li class="text_bold">お名前<span class="text_red">(必須項目)</span></li>
<li><input type="text" name="name" size="50"/></li>
<li class="text_bold">メールアドレス<span class="text_red">(必須項目)</span></li>
<li><input type="text" name="email" size="50"/></li>
<li class="text_bold">件名</li>
<li><input type="text" name="subject" size="50"/></li>
<li class="text_bold">本文<span class="text_red">(必須項目)</span></li>
<li><textarea name="message" cols="50" rows="10"></textarea></li>
<li><br/></li>
<input type="reset" value="リセット" />
<input type="submit" value="送信" />
</ul>
</form>

一応CSSも少し加えたので…。
CSS

body {
	color:#666;
}
ul {
	padding:0;
}
li {
	list-style:none;
	padding:5px 0 0;
}
.content {
	width:500px;
	height:auto;
	margin:0 auto;
}
.text_bold {
	font-weight:bold;
}
.text_red {
	font-size:0.9em;
	color:#F7AABB;
}
  • complete01.phpのソース

PHP

<h1>メールフォーム</h1>

<?php 
mb_language("japanese");
mb_internal_encoding("UTF-8");

if (!empty($_POST['name']) && ($_POST['email']) && ($_POST['message'])){
	$to = "ここに送信するメールアドレスを入力";
	$subject = "メールフォームからの問い合わせ";
	$body = "[お名前] ". $_POST['name'] .
                "\n\n [メールアドレス] ". $_POST['email']. 
                "\n\n [件名] " . $_POST['subject'] . 
                "\n\n [本文]\n " . $_POST['message'];
	$from = $_POST['email'];
	
	$success = mb_send_mail($to, $subject,$body,"From:" .$from);
	if ($success){
	print('<p>送信完了しました。<br/></p>
               <a href="mailform01.html"><input type="button" value="戻る"/></a>');
	}

}else{

?>

<form action="complete01.php" method="post">
<ul>
<li class="text_bold">お名前 <span class="text_red">(必須項目)<?php
if (empty($_POST['name'])){
	print('*お名前を入力してください。');?></span></li>
<li><input type="text" name="name" size="50"/></li>
<?php }else{ ?>
<li><input type="text" name="name" size="50"
value="<?php print(htmlspecialchars($_POST['name'], ENT_QUOTES)); 
?>"/></li>
<?php }?>

<li class="text_bold">メールアドレス <span class="text_red">(必須項目)<?php
if (empty($_POST['email'])){
	print('*メールアドレスを入力してください。');?></span></li>
<li><input type="text" name="email" size="50"/>
<?php }else{ ?>
<li><input type="text" name="email" size="50" value="<?php 
 print(htmlspecialchars($_POST['email'], ENT_QUOTES)); 
?>"/></li>
<?php }?>

<li class="text_bold">件名</li>
<li><input type="text" name="subject" size="50" value="<?php 
 print(htmlspecialchars($_POST['subject'], ENT_QUOTES)); 
?>"/></li>

<li class="text_bold">本文 <span class="text_red">(必須項目)<?php
if (empty($_POST['message'])){
	print('*本文を入力してください。');?></span></li>
<li><textarea name="message" cols="50" rows="10"></textarea></li>

<?php }else {?>
<li><textarea name="message" cols="50" rows="10">
<?php print(htmlspecialchars($_POST['message'], ENT_QUOTES)); 
?></textarea></li>
<?php }?>
<li><br/></li>
<a href="mailform01.html"><input type="button" value="リセット" /></a>
<input type="submit" value="送信" />
</ul>
</form>
<?php }

?>

ハイライトしてある8行目のここに送信するメールアドレスを入力という部分に、このメールフォームから送信するメールアドレスを入力します。
前後の「”」は消さずに送信先のメールアドレスが「”」で囲まれていることを確認してください。

complete01.phpのCSSはmailform01.htmlと同じです。

もっと簡単な書き方もあるのでしょうが、これで文字化けなしなはずです。
文字コードはUTF-8で作ってます。

ウェブを勉強し始めたときに、こういったメールフォームのソースをたくさん探しました。

シンプルで簡単にカスタマイズしやすいフォームがあればなぁ…と思ったので今回作ってみました。

本当に簡易的なメールフォームですがお役に立てると嬉しいです。

関連する記事

コメントをどうぞ

技術的なサポート、質問等にはお答えできない場合もございます。
また、現在更新頻度はかなり低めですので、返信できたとしてもかなり遅くなる場合があります。
ご理解くださいませ。


以下のHTMLタグが使えます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*


おすすめの本
ネットで調べればなんとかなる!という時代ですが、良い本にめぐり合い、基礎をきっちり固めることで応用がきくテクニックを身に着けることができます。もっと上達したい人におすすめの本をいくつかご紹介します。
TO TOP