質問編集履歴
1
ご指摘いただいたエラーの表示と、ソースコードは<code>機能を利用しました。xzmppはxammpの間違いですね。よろしくお願いいたします。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
PHP データベース(
|
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
|
-
|
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'])
|