1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【PHP】 GETを使った受け渡しの備忘録03

Last updated at Posted at 2018-09-02

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"だと属性が表示されずに、エラーとなってしまう。

4.png

下記のように修正

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 = '女';
	}
?>
5.png

参考文献

WEBデザイナー・HTMLコーダーのための実践PHP入門 (1) メールフォームを自作する
https://www.udemy.com/phpbasics01/

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?