回答編集履歴

3

修正

2017/09/19 07:53

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -32,20 +32,14 @@
32
32
 
33
33
  die("不正アクセス");
34
34
 
35
- }else{
35
+ }
36
36
 
37
37
  //~~~処理
38
+
39
+ ```
40
+
41
+ ※die()で処理が強制的に終了するのでELSEは不要でした。コード修正しました。
38
42
 
39
43
 
40
44
 
41
45
 
42
-
43
-
44
-
45
- require 'footer.php';
46
-
47
- }
48
-
49
- ```
50
-
51
-

2

修正

2017/09/19 07:53

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -1,6 +1,4 @@
1
- staff_edit_check.phpに
2
-
3
- inputのname="name"、name="pass"の入力コントロールが設置されていません。
1
+ staff_edit_check.phpに```name="name"``````name="pass"```の入力コントロールが設置されていません。
4
2
 
5
3
  POSTはaction先にしか情報を送信しないので、staff_edit_check.phpからstaff_edit_done.phpに情報を渡したければ、
6
4
 
@@ -32,7 +30,7 @@
32
30
 
33
31
  if($_SERVER["REQUEST_METHOD"] !== "POST"){
34
32
 
35
- echo "不正アクセス";
33
+ die("不正アクセス");
36
34
 
37
35
  }else{
38
36
 

1

修正

2017/09/19 07:33

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -9,3 +9,45 @@
9
9
 
10
10
 
11
11
  staffcodeと同様に渡したい情報全てを置いてください。
12
+
13
+
14
+
15
+ 追記:
16
+
17
+ pdo->executeの返り値にtrue/falseがあるのでfalseの場合はエラーとするようにした方が良いですね。
18
+
19
+ 今のままだと失敗しても「修正しました」と出力されるように見えます。
20
+
21
+ また、```if($_SERVER["REQUEST_METHOD"] == "POST"){```にてPOST送信であることを確認しているのはいいのですが、
22
+
23
+ 今のifの閉じ位置だと直接「staff_edit_done.php」をURL直で実行してもDB接続の処理が走ります。
24
+
25
+ session_start();をひとまずファイル冒頭に記述した上で、POSTではない場合に不正アクセスとする処理を入れて、残り全てをelseとしてはどうでしょうか?
26
+
27
+ ```php
28
+
29
+ <?php
30
+
31
+ session_start();
32
+
33
+ if($_SERVER["REQUEST_METHOD"] !== "POST"){
34
+
35
+ echo "不正アクセス";
36
+
37
+ }else{
38
+
39
+ //~~~処理
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+ require 'footer.php';
48
+
49
+ }
50
+
51
+ ```
52
+
53
+