PHP 学び 問い合わせフォームの作成 part3
HTML学び
htmlのtextareaにはvalue属性がなく、テキストエリアタグの中に書いたものがvalueになる
お問い合わせ内容
<textarea name="contact">
</textarea>
htmlのcheckboxのnameの後に「[ ]」をつけておくと、複数のチェック項目がある場合配列として表示できる。
↑はてなブログで[ ]を空白入れずに書くと表示されなかったので空白を入れているが、本来は入れなくてOK。
php学び
お問い合わせフォームの入力画面で、情報として0なら男性、1なら女性とした場合、値としては0か1になり、中身を見た時にすぐには分からない。なので、確認画面ではif文使い、男性、女性という表示をさせる(年齢も同じ要領)。
入力画面のコード
性別
<br>
年齢
<select name="age">
</select>
確認画面のコード
性別
<?php
if($_POST['gender'] === '0'){ echo '男性'; }
if($_POST['gender'] === '1'){ echo '女性'; }
?>
<br>
年齢
<?php
if($_POST['age'] === '1'){ echo '〜19歳'; }
if($_POST['age'] === '2'){ echo '20歳〜29歳'; }
if($_POST['age'] === '3'){ echo '30歳〜39歳'; }
if($_POST['age'] === '4'){ echo '40歳〜49歳'; }
if($_POST['age'] === '5'){ echo '50歳〜59歳'; }
if($_POST['age'] === '6'){ echo '60歳〜'; }
?>
確認画面のinputの内容も追加
<input type="hidden" name="your_name"
<input type="hidden" name="email"
<input type="hidden" name="url"
<input type="hidden" name="gender"
<input type="hidden" name="age"
<input type="hidden" name="contact"
</form>
性別、年齢の表示が数字だけではなく文字表記されていればOK。
最初からラジオボタンや選択項目にチェックを入れておきたい場合
入力画面
性別
<br>
年齢
<select name="age">
</select>
性別(input)の場合、valueの後ろにchecked。
年齢(select)の場合、valueの後ろにselected。
下記のようになっていればOK。
↑の応用
入力画面で性別にチェックを入れて確認画面に進み、その後戻るボタンを押して入力画面に戻った際、チェックが入力した時の情報で反映される方法。
入力画面
性別
{ echo 'checked'; } ?>>男性
{ echo 'checked'; } ?>>女性
<br>
if文を使い男性か女性かでチェックをどちらに入れるか判定する。
なお、emptyは0もtrueとしてしまうので、isset(空ではない状態ならtrue)をこの場合用いる。
女性でチェックを入れた後、戻るを押して女性のままチェックが残っていればOK