回答編集履歴

5

ad

2022/10/13 21:28

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -21,4 +21,4 @@
21
21
  ★⑧完了画面でF5などで画面更新すると情報再送信で再度登録処理が走ります(二重送信対策などで調べてください)
22
22
  ⑨完了画面の「顧客テーブル画面に戻る」はPOSTで送信しなくても良いのでは
23
23
 
24
- 以上です
24
+ 以上です

4

追記

2022/10/13 20:54

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -9,15 +9,16 @@
9
9
  画面にはラベルで表示させてhiddenを設置しましょう。
10
10
  ※それでもブラウザのデベロッパーツールからの編集は可能なので、PHP側でのバリデーションは必須です
11
11
 
12
- 他気になった点:
12
+ ------
13
+ 他気になった点(結構細かいところもあるので、★をつけたところ以外は出来る範囲からで良いと思います):
13
- ユーザーが入力された情報をそのままHTMLに出力しているので[XSSの脆弱性](https://www.shadan-kun.com/waf/xss/)がある
14
+ ★①ユーザーが入力された情報をそのままHTMLに出力しているので[XSSの脆弱性](https://www.shadan-kun.com/waf/xss/)がある
14
- 日本語ファイル名(特にURLとなるもの)は基本弊害しかない([例1](https://qiita.com/REAS_7/items/3f86a0834d612edaecd6)、[例2](https://www.lucidas.co.jp/japanese_urls.html))ので安易に利用すべきではありません。DB名、テーブル名、カラム名なども同様。
15
+ 日本語ファイル名(特にURLとなるもの)は基本弊害しかない([例1](https://qiita.com/REAS_7/items/3f86a0834d612edaecd6)、[例2](https://www.lucidas.co.jp/japanese_urls.html))ので安易に利用すべきではありません。DB名、テーブル名、カラム名なども同様。
15
- INSERT-SETはMySQL独自の記法であるため、そのまま覚えてしまうと別のDBを利用するときに苦労します
16
+ INSERT-SETはMySQL独自の記法であるため、そのまま覚えてしまうと別のDBを利用するときに苦労します
16
- INSERT作ってるprepareで$statementを上書きしてます。これでは後者しか実行されないのでは。複数カラム更新の文法もあるので調べてください(まずはSQLを作るところから)
17
+ ★④INSERT作ってるprepareで$statementを上書きしてます。これでは後者しか実行されないのでは。複数カラム更新の文法もあるので調べてください(まずはSQLを作るところから)
17
- エラーからするとuseridの初期値が0に設定されていて整数型で定義されているのでしょうか。となるとtype=textで入力し、バリデーションが何もないのは実装としてマズいと思います。
18
+ ★⑤エラーからするとuseridの初期値が0に設定されていて整数型で定義されているのでしょうか。となるとtype=textで入力し、バリデーションが何もないのは実装としてマズいと思います。
18
- 「顧客」と仰っていますが文言は「転入生」など表記や仕様のブレを感じます。設計統一されていますか?
19
+ 「顧客」と仰っていますが文言は「転入生」など表記や仕様のブレを感じます。設計統一されていますか?
19
- 「下記の情報で登録しますがよろしいですか?」とあるが、よろしくない場合に画面内に戻る手段がない(ブラウザバックは極力させない方が良いと思いますし、確認画面を表示するメリットってユーザーにとっても開発者にとってもあまりないんですよね)
20
+ 「下記の情報で登録しますがよろしいですか?」とあるが、よろしくない場合に画面内に戻る手段がない(ブラウザバックは極力させない方が良いと思いますし、確認画面を表示するメリットってユーザーにとっても開発者にとってもあまりないんですよね)
20
- 完了画面でF5などで画面更新すると情報再送信で再度登録処理が走ります(二重送信対策などで調べてください)
21
+ ★⑧完了画面でF5などで画面更新すると情報再送信で再度登録処理が走ります(二重送信対策などで調べてください)
21
- 完了画面の「顧客テーブル画面に戻る」はPOSTで送信しなくても良いのでは
22
+ 完了画面の「顧客テーブル画面に戻る」はPOSTで送信しなくても良いのでは
22
23
 
23
24
  以上です。

3

ed

2022/10/13 20:50

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -16,6 +16,7 @@
16
16
  ・INSERT作ってるprepareで$statementを上書きしてます。これでは後者しか実行されないのでは。複数カラム更新の文法もあるので調べてください(まずはSQLを作るところから)
17
17
  ・エラーからするとuseridの初期値が0に設定されていて整数型で定義されているのでしょうか。となるとtype=textで入力し、バリデーションが何もないのは実装としてマズいと思います。
18
18
  ・「顧客」と仰っていますが文言は「転入生」など表記や仕様のブレを感じます。設計統一されていますか?
19
+ ・「下記の情報で登録しますがよろしいですか?」とあるが、よろしくない場合に画面内に戻る手段がない(ブラウザバックは極力させない方が良いと思いますし、確認画面を表示するメリットってユーザーにとっても開発者にとってもあまりないんですよね)
19
20
  ・完了画面でF5などで画面更新すると情報再送信で再度登録処理が走ります(二重送信対策などで調べてください)
20
21
  ・完了画面の「顧客テーブル画面に戻る」はPOSTで送信しなくても良いのでは
21
22
 

2

ed

2022/10/13 20:37

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  > https://developer.mozilla.org/ja/docs/Web/HTML/Element/Input#disabled
4
4
  > 特に、無効になった入力欄は click イベントを受け取らず、フォームと共に送信されることもありません。
5
+
6
+ $_POSTに想定の値が入っているか確認してください。
5
7
 
6
8
  「編集させたくないけど送信はしたい」のでしたらreadonlyか、
7
9
  画面にはラベルで表示させてhiddenを設置しましょう。

1

ad

2022/10/13 20:36

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  > https://developer.mozilla.org/ja/docs/Web/HTML/Element/Input#disabled
4
4
  > 特に、無効になった入力欄は click イベントを受け取らず、フォームと共に送信されることもありません。
5
+
6
+ 「編集させたくないけど送信はしたい」のでしたらreadonlyか、
7
+ 画面にはラベルで表示させてhiddenを設置しましょう。
8
+ ※それでもブラウザのデベロッパーツールからの編集は可能なので、PHP側でのバリデーションは必須です
5
9
 
6
10
  他気になった点:
7
11
  ・ユーザーが入力された情報をそのままHTMLに出力しているので[XSSの脆弱性](https://www.shadan-kun.com/waf/xss/)がある