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

回答編集履歴

6

追記

2020/10/22 12:39

投稿

tanat
tanat

スコア18778

answer CHANGED
@@ -52,6 +52,9 @@
52
52
  あたりかなと思います。
53
53
  色々試行錯誤しているうちにrootのパスワードを設定しちゃったとかないでしょうか?
54
54
 
55
+ ただ、繰り返しになりますが、最新のサンプルコードが取得出来ないような教材を使っても苦労するだけなので、別の教材を探すことをお勧めします。
56
+
57
+
55
58
  以下、質問修正前の回答
56
59
  ---
57
60
  ただ、今回のケースだと少なくとも

5

追記

2020/10/22 12:39

投稿

tanat
tanat

スコア18778

answer CHANGED
@@ -34,9 +34,24 @@
34
34
  ```
35
35
  となっているはずで、noticeが出るのはフォームからPOSTせずに直接アクセスしたようなケースだと思います。
36
36
 
37
+ > SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)
37
38
 
39
+ に関しては、
40
+ ```PHP
41
+ $dsn='mysql:dbname=shop;host=127.0.0.1;charset=utf8';
42
+ $user='root';
43
+ $password='';
44
+ $dbh=new PDO($dsn,$user,$password)
45
+ ```
46
+ としてみて駄目なら
38
47
 
48
+ - `xampp mariadb パスワード変更`あたりで検索してパスワードを設定して、設定したパスワードを`$password`に代入する
39
49
 
50
+ もしくは、xamppをインストールしなおす
51
+
52
+ あたりかなと思います。
53
+ 色々試行錯誤しているうちにrootのパスワードを設定しちゃったとかないでしょうか?
54
+
40
55
  以下、質問修正前の回答
41
56
  ---
42
57
  ただ、今回のケースだと少なくとも

4

補足

2020/10/22 12:38

投稿

tanat
tanat

スコア18778

answer CHANGED
@@ -9,8 +9,34 @@
9
9
  また、改訂版に関してはサンプルコードのダウンロードも出来ないような・・・
10
10
  少なくとも誤りのないコードと比較できないような教材はキツいですね。
11
11
 
12
+ 回答
13
+ ---
14
+ > 編集の追記です。
15
+ > エラーは、issetが無ければ、
16
+ > Notice: Undefined index: name in C:\xampp\htdocs\staff\staff_add_done.php on line 15
17
+ >
18
+ > Notice: Undefined index: pass in C:\xampp\htdocs\staff\staff_add_done.php on line 16
12
19
 
20
+ は恐らく
21
+ ```PHP
22
+ $staff_name=isset($_POST['name']);
23
+ $staff_pass=isset($_POST['pass']);
13
24
 
25
+ $staff_name=htmlspecialchars($staff_name);
26
+ $staff_pass=htmlspecialchars($staff_pass);
27
+ ```
28
+
29
+
30
+
31
+ ```PHP
32
+ $staff_name=htmlspecialchars($_POST['pass']);
33
+ $staff_pass=htmlspecialchars($_POST['name']);
34
+ ```
35
+ となっているはずで、noticeが出るのはフォームからPOSTせずに直接アクセスしたようなケースだと思います。
36
+
37
+
38
+
39
+
14
40
  以下、質問修正前の回答
15
41
  ---
16
42
  ただ、今回のケースだと少なくとも

3

修正

2020/10/22 12:27

投稿

tanat
tanat

スコア18778

answer CHANGED
@@ -9,7 +9,9 @@
9
9
  また、改訂版に関してはサンプルコードのダウンロードも出来ないような・・・
10
10
  少なくとも誤りのないコードと比較できないような教材はキツいですね。
11
11
 
12
+
13
+
12
- 回答
14
+ 以下、質問修正前の回答
13
15
  ---
14
16
  ただ、今回のケースだと少なくとも
15
17
  ```PHP

2

追記

2020/10/22 12:15

投稿

tanat
tanat

スコア18778

answer CHANGED
@@ -21,7 +21,7 @@
21
21
  $staff_name=isset($_POST['name']);
22
22
  $staff_pass=isset($_POST['pass']);
23
23
  ```
24
- としないと文法エラーでそれより先に進めないですし
24
+ としないと文法エラーでそれより先に進めないですし(**あったらあったで別の問題が出るコードなので前後と合わせて元のコードに戻す必要がありますが**)
25
25
 
26
26
  ```PHP
27
27
 

1

修正

2020/10/22 10:50

投稿

tanat
tanat

スコア18778

answer CHANGED
@@ -21,8 +21,8 @@
21
21
  $staff_name=isset($_POST['name']);
22
22
  $staff_pass=isset($_POST['pass']);
23
23
  ```
24
+ としないと文法エラーでそれより先に進めないですし
24
25
 
25
-
26
26
  ```PHP
27
27
 
28
28
  $dsn='mysql:dbname=shop;
@@ -35,15 +35,14 @@
35
35
 
36
36
  ```PHP
37
37
 
38
- $dsn='mysql:dbname=shop;
38
+ $dsn='mysql:dbname=shop';
39
39
  $host='localhost;charset=utf8';
40
40
  $user='root';
41
- $password='';←ここに問題があるというようなエラー回答が出ました。
41
+ $password='';
42
42
  $dbh=new PDO($dsn,$user,$password)
43
43
  ;
44
44
  ```
45
- としないと文法エラーでそれより先に進めないはずです。
46
- (実際に動かしているコードと質問のコードが違うのであれば知りません)
45
+ としないとDB情報が誤ったことになります。(実際に動かしているコードと違うのであれば知りません
47
46
 
48
47
  この辺は人力で何とかするというよりは開発環境でチェックする方が確実で速いので
49
- `PHP IDE`とか`PHP VSCode`あたりで検索してみて、開発環境を整えることをお勧めします。
48
+ `PHP IDE`とか`PHP VSCode`あたりで検索してみて、書いている途中にエラーをわかりやすくエラーを表示してくれる開発環境を整えることをお勧めします。