回答編集履歴
2
加筆修正
answer
CHANGED
@@ -6,8 +6,10 @@
|
|
6
6
|
|
7
7
|
それはそれとして、POSTでパラメータを送っていないときに
|
8
8
|
そのページを表示させると、$_POST['category']が未定義になります。
|
9
|
-
そうすると不完全なSQL文を実行してしまうため、
|
9
|
+
そうすると不完全なSQL文を実行してしまうため、SQL文実行で文法エラーが返されて、
|
10
|
+
クエリー結果を得ようとしても出来ません。
|
10
|
-
$_POST['category']があるときとないとき
|
11
|
+
$_POST['category']があるときとないとき
|
12
|
+
(正確に言うと、さらにクエリー結果が得られたかどうか、でも分岐が必要)で条件分岐が絶対必要です。
|
11
13
|
URLで「~&category=1」とかやっているのだとすると、それは$_GET['category']ですので、
|
12
14
|
$_POST['category']には入ってきません。
|
13
15
|
|
1
加筆修正
answer
CHANGED
@@ -4,6 +4,15 @@
|
|
4
4
|
$_POSTで受け取ったパラメータをもっと丁寧に点検しないと、
|
5
5
|
構造がわかってしまえばあっさり蹂躙されますよ。
|
6
6
|
|
7
|
+
それはそれとして、POSTでパラメータを送っていないときに
|
8
|
+
そのページを表示させると、$_POST['category']が未定義になります。
|
9
|
+
そうすると不完全なSQL文を実行してしまうため、
|
10
|
+
$_POST['category']があるときとないときで条件分岐が絶対必要です。
|
11
|
+
URLで「~&category=1」とかやっているのだとすると、それは$_GET['category']ですので、
|
12
|
+
$_POST['category']には入ってきません。
|
13
|
+
|
14
|
+
以下、余談。
|
15
|
+
|
7
16
|
それと、catalog_idが主キーと思われるテーブルが二つあって、
|
8
17
|
それぞれでオートインクリメントしてるのって、
|
9
18
|
意図しないidのズレを生じたりしないか心配になります。
|