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

質問編集履歴

1

ご指摘いただいたエラーの表示と、ソースコードは<code>機能を利用しました。xzmppはxammpの間違いですね。よろしくお願いいたします。

2020/10/22 12:03

投稿

ren_myu
ren_myu

スコア1

title CHANGED
@@ -1,1 +1,1 @@
1
- PHP データベース(xzmppのmysqlです)にデータが保存できないようでプログラミングの目的と意図しない遷移画面になります。
1
+ PHP データベース(xamppのmysqlです)にデータが保存できないようでプログラミングの目的と意図しない遷移画面になります。
body CHANGED
@@ -18,6 +18,17 @@
18
18
 
19
19
  ただいま障害により大変ご迷惑をお掛けしております。
20
20
 
21
+
22
+ **ボールドテキスト**
23
+ 編集の追記です。
24
+ エラーは、issetが無ければ、
25
+ Notice: Undefined index: name in C:\xampp\htdocs\staff\staff_add_done.php on line 15
26
+
27
+ Notice: Undefined index: pass in C:\xampp\htdocs\staff\staff_add_done.php on line 16
28
+ と、出ます。
29
+ もう一つは下記です。
30
+
31
+ SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)と表示されています。
21
32
  ```
22
33
  ### ヘディングのテキスト
23
34
  ```
@@ -26,6 +37,14 @@
26
37
 
27
38
  PHP
28
39
  一番最初のファイルです。
40
+ ```html
41
+ <!DOCTYPE html>
42
+ <html lang="ja">
43
+ <head>
44
+ <meta charset="UTF-8">
45
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
46
+ <title>中村農園</title>
47
+ </head>
29
48
  <body>
30
49
  スタッフ追加<br/>
31
50
  <br/>
@@ -42,25 +61,25 @@
42
61
  </form>
43
62
 
44
63
  </body>
64
+ </html>```html
45
65
 
46
-  これが2番目のファイルです。
66
+ これが2番目のファイルです。
67
+
68
+ コード
69
+ ```PHP
47
70
  <?php
48
71
 
49
72
  $staff_name=$_POST['name'];
50
73
  $staff_pass=$_POST['pass'];
51
74
  $staff_pass2=$_POST['pass2'];
52
75
 
53
- $staff_name=htmlspecialchars
76
+ $staff_name=htmlspecialchars($staff_name);
54
- ($staff_name);
55
- $staff_pass=htmlspecialchars
77
+ $staff_pass=htmlspecialchars($staff_pass);
56
- ($staff_pass);
57
- $staff_pass2=htmlspecialchars
78
+ $staff_pass2=htmlspecialchars($staff_pass2);
58
- ($staff_pass2);
59
79
 
60
80
  if($staff_name=='')
61
81
  {
62
- print 'スタッフ名が入力されていま
63
- せん。<br />';
82
+ print 'スタッフ名が入力されていません。<br />';
64
83
  }
65
84
  else
66
85
  {
@@ -71,77 +90,73 @@
71
90
 
72
91
  if($staff_pass=='')
73
92
  {
74
- print 'パスワードが入力されていま
75
- せん。<br />';
93
+ print 'パスワードが入力されていません。<br />';
76
94
  }
77
95
 
78
96
  if($staff_pass!=$staff_pass2)
79
97
  {
80
- print 'パスワードが一致しません。
98
+ print 'パスワードが一致しません。<br />';
81
- <br />';
82
99
  }
83
100
 
84
- if($staff_name=='' ||
101
+ if($staff_name=='' || $staff_pass=='' || $staff_pass!=$staff_pass2)
85
- $staff_pass=='' ||
86
- $staff_pass!=$staff_pass2)
87
102
  {
88
103
  print '<form>';
89
- print '<input type="button"
90
- onclick="history.back()" value="戻
104
+ print '<input type="button" onclick="history.back()" value="戻る">';
91
- る">';
92
105
  print '</form>';
93
106
  }
94
107
  else
95
108
  {
96
109
  $staff_pass=md5($staff_pass);
97
- print '<form method="post"
98
- action="staff_add_done.php">';
110
+ print '<form method="post" action="staff_add_done.php">';
99
- print '<input type="hidden"
100
- name="name" value="'.$staff_name.
111
+ print '<input type="hidden" name="name" value="'.$staff_name.'">';
101
- '">';
102
- print '<input type="hidden"
103
- name="pass" value="'.$staff_pass.
112
+ print '<input type="hidden" name="pass" value="'.$staff_pass.'">';
104
- '">';
105
113
  print '<br />';
106
- print '<input type="button"
107
- onclick="history.back()" value="戻
114
+ print '<input type="button" onclick="history.back()" value="戻る">';
108
- る">';
109
- print '<input type="submit"
115
+ print '<input type="submit" value="OK">';
110
- value="OK">';
111
116
  print '</form>';
112
117
  }
113
118
 
114
119
  ?>
120
+ </body>
121
+ </html>
122
+ ```PHP
115
123
 
124
+
125
+
116
126
  こちらが3つめのファイルです。
117
127
 
118
128
  ここで本来ならばデータベースに登録されてstaff_list.phpというファイルに行くために戻るのボタンとリンクの表示が出るはずなのですが、エラートラップによりうまくいきません。
129
+
130
+ <!DOCTYPE html>
131
+ <html lang="ja">
132
+ <head>
133
+ <meta charset="UTF-8">
134
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
135
+ <title>中村農園</title>
136
+ </head>
137
+ <body>
138
+ ```PHP
139
+ コード
140
+ ```
119
141
  <?php
120
142
 
121
143
 
122
144
  try
123
145
  {
124
146
 
125
- $staff_name=isset($_POST['name'])
147
+ $staff_name=isset($_POST['name']);
126
- $staff_pass=isset($_POST['pass'])
148
+ $staff_pass=isset($_POST['pass']);
127
149
 
128
- $staff_name=htmlspecialchars
150
+ $staff_name=htmlspecialchars($staff_name);
129
- ($staff_name);
130
- $staff_pass=htmlspecialchars
151
+ $staff_pass=htmlspecialchars($staff_pass);
131
- ($staff_pass);
132
152
 
133
- $dsn='mysql:dbname=shop;
134
- host=localhost;charset=utf8';
153
+ $dsn='mysql:dbname=shop;host=localhost;charset=utf8';
135
154
  $user='root';
136
155
  $password='';
137
- $dbh=new PDO($dsn,$user,$password
156
+ $dbh=new PDO($dsn,$user,$password);
138
- ;
139
- $dbh->setAttribute
140
- (PDO::ATTR_ERRMODE,
141
- PDO::ERRMODE_EXCEPTION);
157
+ $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
142
158
 
143
- $sql='INSERT INTO mst_staff (name
159
+ $sql='INSERT INTO mst_staff (name,password) VALUES (?,?)';
144
- password) VALUES (?,?)';
145
160
  $stmt=$dbh->prepare($sql);
146
161
  $data[]=$staff_name;
147
162
  $data[]=$staff_pass;
@@ -150,7 +165,7 @@
150
165
  $dbh=null;
151
166
 
152
167
  print $staff_name;
153
- print 'さんを追加しました。<br />
168
+ print 'さんを追加しました。<br />';
154
169
 
155
170
  }
156
171
  catch (Exception $e)
@@ -163,10 +178,43 @@
163
178
 
164
179
  <a href="staff_list.php"> 戻る</a>
165
180
 
181
+ ?>
182
+ </body>
183
+ </html>
166
184
 
185
+ ```PHP
167
186
 
168
187
 
169
188
 
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
170
218
  ### 試したこと
171
219
  $staff_name=isset($_POST['name'])
172
220
  $staff_pass=isset($_POST['pass'])