回答編集履歴

1

加筆修正

2020/01/08 05:36

投稿

退会済みユーザー
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  <body>
12
12
 
13
- <form method="post">
13
+ <form method="POST">
14
14
 
15
15
  <p>質問1 <br />
16
16
 
@@ -98,9 +98,13 @@
98
98
 
99
99
  $qtq = intval($value1) + intval($value2);
100
100
 
101
+ echo h($qtq);
102
+
103
+ } else {
104
+
105
+ echo '...';
106
+
101
107
  }
102
-
103
- echo h($qtq);
104
108
 
105
109
  ```
106
110
 
@@ -111,3 +115,15 @@
111
115
  数値でないものを処理すると、示されたようなエラーメッセージが表示されます。
112
116
 
113
117
  そのため、intval()で加工したり、あるいは`(int)$value1`などと型キャストを明示します。
118
+
119
+
120
+
121
+ それと、今は想像がつかないかもしれないけど、$_POST[~]で受信したデータは、
122
+
123
+ 細工すればHTMLフォームに書いていないデータを送り込むことも容易にできるため、
124
+
125
+ 悪意を持ってhtmlやjavascriptを含むものを送り込まれたら、
126
+
127
+ そのままwebブラウザに出力してしまう`echo $_POST['Q1']`というのはやってはいけないです。
128
+
129
+ それを回避するために、htmlspecialchars()があります。