質問編集履歴

1

INSERT, CREATE文 追記 アクセスコード 記載

2018/09/03 09:24

投稿

Roo
Roo

スコア55

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- 名前:sdate データ型:datetime
7
+
8
8
 
9
9
 
10
10
 
@@ -61,3 +61,155 @@
61
61
  //ログイン日時設定の場所にどう記載すれば宜しいでしょうか?
62
62
 
63
63
  宜しくお願いいたします。
64
+
65
+
66
+
67
+ 保存先のDB CREATE,INSERT
68
+
69
+ CREATE TABLE userdata(
70
+
71
+ id int NOT NULL PRIMARY KEY,
72
+
73
+ name varchar NOTNULL
74
+
75
+ password varchar NOTNULL
76
+
77
+ sdate  datetime   NOTNULL
78
+
79
+
80
+
81
+ INSERT INTO userdata (
82
+
83
+ name,
84
+
85
+ passwrod,
86
+
87
+ adate
88
+
89
+ )
90
+
91
+ VALUES
92
+
93
+ ( 'ma0808'
94
+
95
+ 'Ma0808'
96
+
97
+ '0:%Y-%m-%d %H:%M:%S'
98
+
99
+ )
100
+
101
+
102
+
103
+
104
+
105
+ 下記のコードからPOSTされたものが正しい場合
106
+
107
+ ログイン日時をDBに保存、取得したいです。
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+ f (isset($_POST["login"])) {
116
+
117
+ // 1. ユーザIDの入力チェック
118
+
119
+ if (empty($_POST["userid"])) { //
120
+
121
+
122
+
123
+ $errorMessage = '※UserIDまたはPasswordが間違っています。';
124
+
125
+ } else if (empty($_POST["password"])) {
126
+
127
+ $errorMessage = '※UserIDまたはPasswordが間違っています。';
128
+
129
+ }
130
+
131
+
132
+
133
+ if (!empty($_POST["userid"]) && !empty($_POST["password"])) {
134
+
135
+ $userid = $_POST["userid"];
136
+
137
+
138
+
139
+
140
+
141
+ $dsn = sprintf('mysql: host=%s; dbname=%s; charset=utf8', $db['host'], $db['dbname']);
142
+
143
+
144
+
145
+
146
+
147
+ try {
148
+
149
+ $pdo = new PDO($dsn, $db['user'], $db['pass'], array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
150
+
151
+
152
+
153
+ $stmt = $pdo->prepare('SELECT * FROM userdata WHERE name = ?');
154
+
155
+ $stmt->execute(array($userid));
156
+
157
+
158
+
159
+ $password = $_POST["password"];
160
+
161
+
162
+
163
+ if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
164
+
165
+ // if (password_verify($password, $row['password'])) {
166
+
167
+ if ($userid == $row['name'] || $password == $row['password']) {
168
+
169
+ session_regenerate_id(true);
170
+
171
+
172
+
173
+
174
+
175
+ $id = $row['id'];
176
+
177
+ $sql = "SELECT * FROM userdata WHERE id = $id";
178
+
179
+ $stmt = $pdo->query($sql);
180
+
181
+ foreach ($stmt as $row) {
182
+
183
+ $row['name'];
184
+
185
+ }
186
+
187
+ $_SESSION["NAME"] = $row['name'];
188
+
189
+ header("location: my.php");
190
+
191
+ exit();
192
+
193
+ } else {
194
+
195
+ $errorMessage = '※UserIDまたはPasswordが間違っています。';
196
+
197
+
198
+
199
+ } catch (PDOException $e) {
200
+
201
+ $errorMessage = 'データベースエラー';
202
+
203
+ //$errorMessage = $sql;
204
+
205
+ // $e->getMessage() でエラー内容を参照可能(デバッグ時のみ表示)
206
+
207
+ // echo $e->getMessage();
208
+
209
+ }
210
+
211
+ }
212
+
213
+ }
214
+
215
+ ?>