teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

修正

2020/01/13 01:21

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -17,4 +17,12 @@
17
17
 
18
18
  他、手前味噌ですが、私自身が最近した回答も参考にしてください。
19
19
  [teratail:PHPでのPDOを使用したDBに情報を格納したいのですが…#の回答](https://teratail.com/questions/234723#reply-341686)
20
- [teratail:PHP、掲示板の削除機能実装をしたいです#の回答](https://teratail.com/questions/234484#reply-341396)
20
+ [teratail:PHP、掲示板の削除機能実装をしたいです#の回答](https://teratail.com/questions/234484#reply-341396)
21
+
22
+ > よくある、郵便番号検索を検索する
23
+
24
+ よくありますかね?
25
+ [郵便番号データベース](https://www.post.japanpost.jp/zipcode/download.html)ってサイズ凄く大きいので、あまり学習に向かないように思いますし、アプリケーション側のデータベースにデータもつのって余程でかいシステムで内部的な情報も必要な場合に限られるように思いますけど・・
26
+ データって「検索だけ」ってありえないので、登録・更新・削除も含めた「CRUD」前程でもっと身近な情報を扱うようにした方が良いように思います。
27
+ スケジュールとか、献立とか、趣味とか、 本当によくあるのは「掲示板」ですけど。
28
+ ある程度マスタももってリレーション貼れるようなもののほうが学習題材としては向いていると思います。

3

修正

2020/01/13 01:21

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -7,7 +7,7 @@
7
7
  - mysqliよりPDOを使うべき
8
8
  - じゃなくても[try-catch](https://www.php.net/manual/ja/class.mysqli-sql-exception.php)は必要
9
9
  - $_GETや$_POSTは直接参照すべきではない。[filter_input()](https://www.php.net/manual/ja/function.filter-input.php)が望ましい。
10
- - trim()した情報で検索をしていけない。情報の加工になります。半角スペース来たら半角スペースで検索させたら良いです。「必須」なら「trim()したものと空が=か」を比べるにとどめましょう。変数に入れなくても良いです。
10
+ - trim()した情報で検索すべきではない。情報の加工になります。半角スペース来たら半角スペースで検索させたら良いです。「必須」なら「trim()したものと空が=か」を比べるにとどめましょう。
11
11
  - デバッグなら`__LINE__`をechoしておかないとどこ通ったか分かりづらいと思う
12
12
  - 定義したものの使われない変数がある
13
13
 

2

修正

2020/01/13 01:15

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -7,6 +7,7 @@
7
7
  - mysqliよりPDOを使うべき
8
8
  - じゃなくても[try-catch](https://www.php.net/manual/ja/class.mysqli-sql-exception.php)は必要
9
9
  - $_GETや$_POSTは直接参照すべきではない。[filter_input()](https://www.php.net/manual/ja/function.filter-input.php)が望ましい。
10
+ - trim()した情報で検索をしてはいけない。情報の加工になります。半角スペース来たら半角スペースで検索させたら良いです。「必須」なら「trim()したものと空が=か」を比べるにとどめましょう。変数に入れなくても良いです。
10
11
  - デバッグなら`__LINE__`をechoしておかないとどこ通ったか分かりづらいと思う
11
12
  - 定義したものの使われない変数がある
12
13
 

1

修正

2020/01/13 01:14

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -6,12 +6,7 @@
6
6
  - <form>が別だと一発で同時に検索できません。作りを難しくしているだけです。
7
7
  - mysqliよりPDOを使うべき
8
8
  - じゃなくても[try-catch](https://www.php.net/manual/ja/class.mysqli-sql-exception.php)は必要
9
- - SQLインジェクションの脆弱性がある
10
- - 部分一致検索はそうじゃなくlikeでは
11
- - `if($search_method === $zipcode){`と`}else if($search_method === $address){`はどっちも成り立たない作りだけど大丈夫?
12
- `if($search_method === ($_GET['zipcode'])){`も`if($search_method === ($_GET['address'])){`も成り立ちせんね
9
+ - $_GET$_POSTは直接参照すべきではない。[filter_input()](https://www.php.net/manual/ja/function.filter-input.php)が望しい。
13
- いずれにしても全件出力しか実行されない作り
14
- - 変数に初期値設定しているならisset()は無意味では
15
10
  - デバッグなら`__LINE__`をechoしておかないとどこ通ったか分かりづらいと思う
16
11
  - 定義したものの使われない変数がある
17
12