回答編集履歴
6
追記
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
追記
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
補足
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
修正
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
追記
test
CHANGED
@@ -44,7 +44,7 @@
|
|
44
44
|
|
45
45
|
```
|
46
46
|
|
47
|
-
としないと文法エラーでそれより先に進めないですし
|
47
|
+
としないと文法エラーでそれより先に進めないですし(**あったらあったで別の問題が出るコードなので前後と合わせて元のコードに戻す必要がありますが**)
|
48
48
|
|
49
49
|
|
50
50
|
|
1
修正
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`あたりで検索してみて、書いている途中にエラーをわかりやすくエラーを表示してくれる開発環境を整えることをお勧めします。
|