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

回答編集履歴

2

加筆修正

2017/06/28 10:35

投稿

退会済みユーザー
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

加筆修正

2017/06/28 10:35

投稿

退会済みユーザー
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のズレを生じたりしないか心配になります。