回答編集履歴

6

追記

2020/10/22 12:39

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -106,6 +106,12 @@
106
106
 
107
107
 
108
108
 
109
+ ただ、繰り返しになりますが、最新のサンプルコードが取得出来ないような教材を使っても苦労するだけなので、別の教材を探すことをお勧めします。
110
+
111
+
112
+
113
+
114
+
109
115
  以下、質問修正前の回答
110
116
 
111
117
  ---

5

追記

2020/10/22 12:39

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -70,9 +70,39 @@
70
70
 
71
71
 
72
72
 
73
+ > SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)
73
74
 
74
75
 
75
76
 
77
+ に関しては、
78
+
79
+ ```PHP
80
+
81
+ $dsn='mysql:dbname=shop;host=127.0.0.1;charset=utf8';
82
+
83
+ $user='root';
84
+
85
+ $password='';
86
+
87
+ $dbh=new PDO($dsn,$user,$password)
88
+
89
+ ```
90
+
91
+ としてみて駄目なら
92
+
93
+
94
+
95
+ - `xampp mariadb パスワード変更`あたりで検索してパスワードを設定して、設定したパスワードを`$password`に代入する
96
+
97
+
98
+
99
+ もしくは、xamppをインストールしなおす
100
+
101
+
102
+
103
+ あたりかなと思います。
104
+
105
+ 色々試行錯誤しているうちにrootのパスワードを設定しちゃったとかないでしょうか?
76
106
 
77
107
 
78
108
 

4

補足

2020/10/22 12:38

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -17,6 +17,58 @@
17
17
  また、改訂版に関してはサンプルコードのダウンロードも出来ないような・・・
18
18
 
19
19
  少なくとも誤りのないコードと比較できないような教材はキツいですね。
20
+
21
+
22
+
23
+ 回答
24
+
25
+ ---
26
+
27
+ > 編集の追記です。
28
+
29
+ > エラーは、issetが無ければ、
30
+
31
+ > Notice: Undefined index: name in C:\xampp\htdocs\staff\staff_add_done.php on line 15
32
+
33
+ >
34
+
35
+ > Notice: Undefined index: pass in C:\xampp\htdocs\staff\staff_add_done.php on line 16
36
+
37
+
38
+
39
+ は恐らく
40
+
41
+ ```PHP
42
+
43
+ $staff_name=isset($_POST['name']);
44
+
45
+ $staff_pass=isset($_POST['pass']);
46
+
47
+
48
+
49
+ $staff_name=htmlspecialchars($staff_name);
50
+
51
+ $staff_pass=htmlspecialchars($staff_pass);
52
+
53
+ ```
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+ ```PHP
62
+
63
+ $staff_name=htmlspecialchars($_POST['pass']);
64
+
65
+ $staff_pass=htmlspecialchars($_POST['name']);
66
+
67
+ ```
68
+
69
+ となっているはずで、noticeが出るのはフォームからPOSTせずに直接アクセスしたようなケースだと思います。
70
+
71
+
20
72
 
21
73
 
22
74
 

3

修正

2020/10/22 12:27

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -20,7 +20,11 @@
20
20
 
21
21
 
22
22
 
23
+
24
+
25
+
26
+
23
- 回答
27
+ 以下、質問修正前の回答
24
28
 
25
29
  ---
26
30
 

2

追記

2020/10/22 12:15

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
  ```
46
46
 
47
- としないと文法エラーでそれより先に進めないですし
47
+ としないと文法エラーでそれより先に進めないですし(**あったらあったで別の問題が出るコードなので前後と合わせて元のコードに戻す必要がありますが**)
48
48
 
49
49
 
50
50
 

1

修正

2020/10/22 10:50

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
  ```
46
46
 
47
-
47
+ としないと文法エラーでそれより先に進めないですし
48
48
 
49
49
 
50
50
 
@@ -72,13 +72,13 @@
72
72
 
73
73
 
74
74
 
75
- $dsn='mysql:dbname=shop;
75
+ $dsn='mysql:dbname=shop';
76
76
 
77
77
  $host='localhost;charset=utf8';
78
78
 
79
79
  $user='root';
80
80
 
81
- $password='';←ここに問題があるというようなエラー回答が出ました。
81
+ $password='';
82
82
 
83
83
  $dbh=new PDO($dsn,$user,$password)
84
84
 
@@ -86,12 +86,10 @@
86
86
 
87
87
  ```
88
88
 
89
- としないと文法エラーでそれより先に進めないはずです。
90
-
91
- (実際に動かしているコードと質問のコードが違うのであれば知りません)
89
+ としないとDB情報が誤ったことになります。(実際に動かしているコードと違うのであれば知りません
92
90
 
93
91
 
94
92
 
95
93
  この辺は人力で何とかするというよりは開発環境でチェックする方が確実で速いので
96
94
 
97
- `PHP IDE`とか`PHP VSCode`あたりで検索してみて、開発環境を整えることをお勧めします。
95
+ `PHP IDE`とか`PHP VSCode`あたりで検索してみて、書いている途中にエラーをわかりやすくエラーを表示してくれる開発環境を整えることをお勧めします。