PHPでフォームを扱う

HTMLのフォームを学ぶ

フォーム要素自体はHTMLのタグなのですが、フォームをただ設置するだけではなんの意味もなく、PHP等のCGIスクリプトと一緒に使うことによって本来の効果を示します。

<form></form>で表されるフォームタグは、そのタグ内にinput等の部品を入れ子にして、タグ内のinput=submitボタンを押すと、formの属性で指定した方法でデータの送信が行われます。

<form action="cgi.php" method="post">
<input type="submit" value="送信する" />
</form>

例は、送信するボタンが押されると、cgi.phpというファイルへ、送信方式がpostで送るという意味。

よく使うフォームを必要最低限のレベルで解説。

input type=text

inputのtype属性がtextのものです。

inputはインライン要素であるので、上下marginを指定したりするにはdiv等のブロックレベル要素でくくってください。

<input name="name" id="name" type="text" size="50" maxlength="255" />

nameとidがごっちゃになりますね。nameはsubmitで別ページに飛んだときに受け取るREQUESTデータの配列のキーになるもの、idはjavascriptのgetElementByIDで指定したり、CSSでスタイルを適用させるためのものです。

nameとidは同じにすることが多いです。name属性を使う機会はこのinputタグかaタグかのどちらかになります。

sizeはエリアの幅、maxlengthは最大文字数です。

input type=radio

inputのtype属性がradioのものです。

<input name="gender" id="man" type="radio" value="男性" /><label for="man">男性</label>
<input name="gender" id="woman" type="radio" value="女性" /><label for="woman">女性</label>

value属性の内容が、別ページに飛ぶときに{"gender"=>"男性"}のような連想配列の形で受け渡されます。

labelにid名を入れるとそのradioボタンにくっついて表示されます。label内の文字はvalueの値が認識できさえすれば何でもよい。(必ず必要なタグかどうかは不明)

input要素内でcheckedをつけてあげるとあらかじめチェックが付いた状態で表示される。また新たにチェックした要素には自動的にcheckedが付加されるため、これをチェックされた要素を取り出す際の目印とすることができる。

textarea

inputのtextが1行なのに対して、複数行入力できるフォーム。

<textarea name="naiyou" id="naiyou" cols="50" rows="10"></textarea>

textareaと/textareaの間には何も入れる必要はありません。幅はcols、高さがrowsで指定できます。

select

selectはドロップダウンメニューを作成するときに使用するフォームです。

<select name="blood" id="blood">
<option value="A型">A型</option>
<option value="B型">B型</option>
<option value="O型">O型</option>
<option value="AB型">AB型</option>
</select>

nameとidの意味はinputに同じ。optionタグがメニューの1行に相当し、{"name値"=>"value値"}で値を受け取れる。

input type=submit

inputのtextが1行なのに対して、複数行入力できるフォーム。

<input type="submit" value="送信する" />

送信用のフォームです。このボタンを押すとフォームの内容が連想配列の形で別のページ(or自分)へ渡されます。

コメントor補足情報orご指摘あればをお願いします。

(件名or本文内でキーワード検索できます)



  • << 前のページ
  • 次のページ >>
ページトップへ