【PHP】フォームを作る

テキストの送信フォーム
 
例(送信フォーム画面)
<form action="xxx.php" method="post">
  //action属性:送信ボタンを押したあとに移動するページのURLを記入
  //method:フォームの入力内容のデータの送信形式を指定(getかpostだが、フォームではpostが一般的)
get:URL入力された値をのせて送信する
post:URLにはのせず、裏側で処理をする
 
<input type="text" id="my_name" name="my_name" maxlength="255" value="">
  //type属性:表示されるテキストフィールドの種類を指定
//id属性:個々の入力項目を管理するid/class名のようなもの
  //name属性:個々の入力項目を管理するid/class名のようなもの(通常idと同じにする)
  //maxlength属性:最大値を指定
  //value属性:初期値を設定することができる
 
<input type="submit" value="送信する"></input>
  //tipe属性:submitとすれば送信ボタンになる
  //value属性:ボタンに表示する文字を自由に指定できる
 
例(入力されたデータを受け取る画面)
xxx.php
 
お名前:<?php print(htmlspecialchars($_REQUEST['my_name'],ENT_QUOTES)); ?>
   //$_REQUEST['my_name']:inputタグで入力されたname属性の値を受け取る。
   //htmlspecialchars(何を、どのように):2つのパラメーターを指定。2つ目はENT_QUOTES(''をつけない)とする。
※htmlspecialchars(何を、どのように):セキュリティのため、HTMLのタグを入力された場合もただの文字列として受け取る。
※$_REQUESTにすると、getでもpostでも受け取ることができる。
※$_REQUESTを使うと、postで送らなければいけないパスワードなどもgetで送られる可能性がある。よって通常は、inputタグで指定したmethod属性に対応させ、$_GETもしくは$_POSTとする。
 
 
 
 
例(送信フォーム画面)
<input type="radio" name="gender" value="male">男性/
<input type="radio" name="gender" value="female">女性  //ボタンに表示されている男性・女性ではなく、value属性の値が出力される。
 
例(入力されたデータを受け取る画面)
<?php print(htmlspecialchars($_POST['gender'],ENT_QUOTES)); ?>
 →male/femaleが出力。
 
 
 
 
例(送信フォーム画面)
<input type="checkbox" name="agree" value="on">同意する
 
 
複数の場合
例(送信フォーム画面)
<input type="checkbox" name="reserve" value="1/1">1月1日
<input type="checkbox" name="reserve" value="1/2">1月2日
<input type="checkbox" name="reserve" value="1/3">1月3日
//複数のチェックボックスの値を送信するには、name属性に[]をつける必要がある
 
例(入力されたデータを受け取る画面)
foreach ($_POST['reserve'] as $reserve){
print (htmlspecialchars($reserve, ENT_QUOTES) .' ');
}   //複数のチェックボックスのデータを受けとる際は、配列で受け取る
 
 
 
セレクトタグ
 
例(送信フォーム画面)
<select name="pref">
<option value="apple">りんご</option>
<option value="peach">もも</option>
</select>
 
 
 
※フォームでは、画面に表示している情報ではなく、value属性の値が送られることに注意。