https://goo.gl/MoabjU
の続きです。
select要素について
select要素のname属性と、その中にあるoption要素のvalue属性の組み合わせがあパラメータになる。
?name=popo&nenrei=14&jusho=tokyo
index.php
<p>住所:
<select name="jusho">
<option value="">選択してください</option>
<option value="tokyo">東京</option>
<option value="osaka">大阪</option>
<option value="fukuoka">福岡</option>
<option value="sonota">その他</option>
</select>
</p>
三項演算子について
[条件]?値:値2
[条件] なら 値 そうでなければ 値2
index.php
<?php
if (isset($_GET['name'])) {
$name = htmlspecialchars($_GET['name']);
} else {
$name = '<script>alert("あああ")</script>';
}
if (isset($_GET['nenrei'])) {
$nenrei = htmlspecialchars($_GET['nenrei']);
} else {
$nenrei = '年齢がないよ';
}
if (isset($_GET['jusho'])) {
$jusho = htmlspecialchars($_GET['jusho']);
} else {
$jusho = '住所がないよ';
}
?>
長々しいif文を下記のように修正
index.php
<?php
$name = isset($_GET['name'])?htmlspecialchars($_GET['name']):'名前がないよ';
$nenrei = isset($_GET['nenrei'])?htmlspecialchars($_GET['nenrei']):'年齢がないよ';
$jusho = isset($_GET['jusho'])?htmlspecialchars($_GET['jusho']):'住所がないよ';
$seibetu = isset($_GET['seibetu'])?htmlspecialchars($_GET['seibetu']):'性別が入力されてないよ';
raidoボタン
type="text"とかだとvalueがからでもurlに表示されるが、type="radio"だと属性が表示されずに、エラーとなってしまう。
下記のように修正
index.php
<?php
$name = isset($_GET['name'])?htmlspecialchars($_GET['name']):'名前がないよ';
$nenrei = isset($_GET['nenrei'])?htmlspecialchars($_GET['nenrei']):'年齢がないよ';
$jusho = isset($_GET['jusho'])?htmlspecialchars($_GET['jusho']):'住所がないよ';
$seibetu = isset($_GET['seibetu'])?htmlspecialchars($_GET['seibetu']):'性別が入力されてないよ';
if (!isset($_GET['seibetu'])) {
$seibetu = '性別がないよ';
} elseif ($_GET['seibetu'] == 'm') {
$seibetu = '男';
} else {
$seibetu = '女';
}
?>
参考文献
WEBデザイナー・HTMLコーダーのための実践PHP入門 (1) メールフォームを自作する
https://www.udemy.com/phpbasics01/