Linuxサーバより愛を込めて。

Linux(Ubuntu)サーバとダーツを愛する中年サラリーマンの日記。

プログラミング

PHPで簡単なメールフォームを作成してみた その1

2015/04/01

HTML5&CSS3レッスンブック

タイトル通りにPHPを用いてメールフォームを作ってみます。

 

が、PHPもHTMLも初心者なワタクシなのでまずはフォームを作成するところから順を追って入ります(汗

 

<form>~</form>のタグ内で画面を作っていきます。

 

最初に定義している「method」はデータの送信方法を、次の「action」は入力したデータの受け取り先を指定するものです。

 

ここではmethodとして"POST"を指定しますがもうひとつの方法として"GET"というのがあります。

 

一般的なメールフォームでは"POST"を使用しますのでここではそれに習います。(POSTとGETの違いは・・・いまいち分かっていないので書くのをやめます。自分で理解できたらいずれ書くことでしょう)

 

actionはデータの受渡し先ということで、次回以降に出て来る「sendmail.php」というファイルのパスを指定することで別のPHPファイルに値を受け渡します。

 

あとはフォーム画面に表示させるテキストボックス、後に別のPHPファイルへ受け渡すが画面上は表示させず固定の値を使用するもの(ここでは送信先のアドレスやメールの件名など)をタグ内に追記していきましょう。

 

まずはテキストボックスなどを。

 

<input ~ />の~部分にtype属性、name属性、value属性を指定して役割を決めていきます。

 

最初に画面には表示されず次のファイルへ渡すための固定の値を書き連ねていきますね。

 

<input type="hidden" name="_email" value="****@chee-s.net" />

 

typeの後の"hidden"が「画面に非表示」を表し、nameは次のファイルへ受け渡す際に区別できるように項目への名前付けを行います。(ここでは「_email」という名前を付けています)

 

最後の"value"以下で、先ほど「_email」と名づけた値は”****@chee-s.net”というメールアドレスであることを定義しています。

 

送信先のアドレスはあくまでサイトの管理者を想定しているので変更する予定は無→非表示にしておいて問題なしと解釈しました。

 

以下も同様に

 

<input type="hidden" name="_subject" value="管理者に送る" />
<input type="hidden" name="_result" value="<?php print($_SERVER['PHP_SELF']);?>" />

 

としてます。

 

1行目はメールの件名を、2行目はメール送信後の処理を定義しています。

 

2行目は分かりにくくて困ったんですが、要は

1.<?php ~ ?>でPHPファイルのパスを指定しておいて・・・

2.処理が終わったときに指定したパスを使用する

ために記述されている感じでしょうか?

 

この辺は次回改めて見てみましょう。

 

後はフォームの部品を作っていきます。一気に書いてしまうと

 

<table border="0">
<tr>
<h align="right">名前:</th>
<td><input type="text" name="name" size="20" maxlength="30" /></td>
</tr><tr>
<th align="right">E-Mail:</th>
<td><input type="text" name="_from" size="50" maxlength="255" /></td>
</tr><tr>
<th align="right" valign="top">自由記入欄:</th>
<td><textarea name="memo" cols="50" row="5">
</textarea></td>
</tr>
</table>
<input type="submit" value="送信" />
<input type="reset" value="クリア" />

 

となります。

 

テーブルを使用してざっくりと位置決めしてます。

 

<input type="text" ~

 

の"text"がテキストボックス形式を使用する事を、nameは上と同様名前を、sizeやmaxlengthでサイズや入力する文字の最大文字数を定義してます。

 

下の方にある<input type="submit" ~ />はコマンドボタンを設定してます。

 

submitを押すと最初に定義したaction="sendmail.php"部分を実行、つまりsendmail.phpへ値を受け渡して実行する役割を果たしてくれるのです。

 

これをつなげて記述するとこんな感じになります。

 

<form method="POST" action="sendmail.php">
<input type="hidden" name="_email" value="****@chee-s.net" />
<input type="hidden" name="_subject" value="管理者に送る" />
<input type="hidden" name="_result" value="<?php print($_SERVER['PHP_SELF']);?>" />
<table border="0">
<tr>
<h align="right">名前:</th>
<td><input type="text" name="name" size="20" maxlength="30" /></td>
</tr><tr>
<th align="right">E-Mail:</th>
<td><input type="text" name="_from" size="50" maxlength="255" /></td>
</tr><tr>
<th align="right" valign="top">自由記入欄:</th>
<td><textarea name="memo" cols="50" row="5">
</textarea></td>
</tr>
</table>
<input type="submit" value="送信" />
<input type="reset" value="クリア" />
</form>

 

いずれはラジオボタンなど他のツールも使ってみようと思います。

 

あぁ、HTMLもちゃんと勉強しなきゃ・・・

[rakuten]neowing-r:11049485[/rakuten]

オススメの記事

-プログラミング
-,