質問編集履歴

4

コードの表示修正

2019/08/14 09:00

投稿

Kuromame52
Kuromame52

スコア4

test CHANGED
File without changes
test CHANGED
@@ -42,6 +42,8 @@
42
42
 
43
43
 
44
44
 
45
+ ```HTML PHP
46
+
45
47
  <?php
46
48
 
47
49
 
@@ -376,6 +378,8 @@
376
378
 
377
379
 
378
380
 
381
+ ```
382
+
379
383
 
380
384
 
381
385
 

3

前提・実現したいこと を追記しました。

2019/08/14 08:59

投稿

Kuromame52
Kuromame52

スコア4

test CHANGED
File without changes
test CHANGED
@@ -24,14 +24,20 @@
24
24
 
25
25
 
26
26
 
27
+ 以下のコードで以前はユーザー登録ができ画面遷移もしていたので
28
+
29
+ 個人的にはphp.iniの設定がおかしい または MAMPのUPDATE時のインストールが原因だと考えています。
30
+
31
+
32
+
33
+
34
+
27
35
  ### 該当のソースコード
28
36
 
29
37
 
30
38
 
31
39
 
32
40
 
33
-
34
-
35
41
  以下はユーザー登録ページのコードです。
36
42
 
37
43
 

2

誤字の修正をしました。

2019/08/14 07:20

投稿

Kuromame52
Kuromame52

スコア4

test CHANGED
File without changes
test CHANGED
@@ -28,8 +28,6 @@
28
28
 
29
29
 
30
30
 
31
- 以下はトップページのコードです。
32
-
33
31
 
34
32
 
35
33
 

1

ソースコードを新たに記載しました。

2019/08/14 06:36

投稿

Kuromame52
Kuromame52

スコア4

test CHANGED
@@ -1 +1 @@
1
- MAMP:ローカル環境でphpMyAdminへのDB接続が必要な場合に限り、画面遷移しない問題を解決したい。
1
+ MAMP:ローカル環境でphpMyAdminを使ったMySQLへのDB接続が必要な場合に限り、画面遷移しない問題を解決したい。
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- phpMyAdminのDBに接続が必要な場合に限り画面遷移しない状況です。
9
+ phpMyAdminを使ったMySQLへの接続が必要な場合に限り画面遷移しない状況です。
10
10
 
11
11
 
12
12
 
@@ -26,6 +26,356 @@
26
26
 
27
27
  ### 該当のソースコード
28
28
 
29
+
30
+
31
+ 以下はトップページのコードです。
32
+
33
+
34
+
35
+
36
+
37
+ 以下はユーザー登録ページのコードです。
38
+
39
+
40
+
41
+ <?php
42
+
43
+
44
+
45
+ //共通変数・関数ファイルを読み込み
46
+
47
+ require('function.php');
48
+
49
+
50
+
51
+ debug('「「「「「「「「「「「「「「「「「「「「「「「「「「「「「');
52
+
53
+ debug('「 ユーザー登録ページ ');
54
+
55
+ debug('「「「「「「「「「「「「「「「「「「「「「「「「「「「「「');
56
+
57
+ debugLogStart();
58
+
59
+
60
+
61
+ //post送信されていた場合
62
+
63
+ if (!empty($_POST)) {
64
+
65
+
66
+
67
+ //変数にユーザー情報を代入
68
+
69
+ $email = $_POST['email'];
70
+
71
+ $pass = $_POST['pass'];
72
+
73
+ $pass_re = $_POST['pass_re'];
74
+
75
+
76
+
77
+ //未入力チェック
78
+
79
+ validRequired($email, 'email');
80
+
81
+
82
+
83
+ validRequired($pass, 'pass');
84
+
85
+
86
+
87
+ validRequired($pass_re, 'pass_re');
88
+
89
+
90
+
91
+
92
+
93
+ if (empty($err_msg)) {
94
+
95
+
96
+
97
+ //emailの形式チェック
98
+
99
+ validEmail($email, 'email');
100
+
101
+ //emailの最大文字数チェック
102
+
103
+ validMaxLen($email, 'email');
104
+
105
+ //email重複チェック
106
+
107
+ validEmailDup($email);
108
+
109
+
110
+
111
+ //パスワードの半角英数字チェック
112
+
113
+ validHalf($pass, 'pass');
114
+
115
+ //パスワードの最大文字数チェック
116
+
117
+ validMaxLen($pass, 'pass');
118
+
119
+ //パスワードの最小文字数チェック
120
+
121
+ validMinLen($pass, 'pass');
122
+
123
+
124
+
125
+ //パスワード(再入力)の最大文字数チェック
126
+
127
+ validMaxLen($pass_re, 'pass_re');
128
+
129
+ //パスワード(再入力)の最小文字数チェック
130
+
131
+ validMinLen($pass_re, 'pass_re');
132
+
133
+
134
+
135
+ if (empty($err_msg)) {
136
+
137
+
138
+
139
+ //パスワードとパスワード再入力が合っているかチェック
140
+
141
+ validMatch($pass, $pass_re, 'pass_re');
142
+
143
+
144
+
145
+ if (empty($err_msg)) {
146
+
147
+
148
+
149
+ //例外処理
150
+
151
+ try {
152
+
153
+ //DBへ接続
154
+
155
+ $dbh = dbConnect();
156
+
157
+ //SQL文作成
158
+
159
+ $sql = 'INSERT INTO users (email,password,login_time,create_date) VALUES(:email,:pass,:login_time,:create_date)';
160
+
161
+ var_dump($sql);
162
+
163
+ $data = array(
164
+
165
+ ':email' => $email, ':pass' => password_hash($pass, PASSWORD_DEFAULT),
166
+
167
+ ':login_time' => date('Y-m-d H:i:s'),
168
+
169
+ ':create_date' => date('Y-m-d H:i:s')
170
+
171
+ );
172
+
173
+ var_dump($data);
174
+
175
+ //クエリ実行
176
+
177
+ $stmt = queryPost($dbh, $sql, $data);
178
+
179
+ var_dump($stmt);
180
+
181
+
182
+
183
+ //クエリ成功の場合
184
+
185
+ if ($stmt) {
186
+
187
+ //ログイン有効期限(デフォルトを1時間とする)
188
+
189
+ $sesLimit = 60 * 60;
190
+
191
+ //最終ログイン日時を現在日時に
192
+
193
+ $_SESSION['login_date'] = time();
194
+
195
+ $_SESSION['login_limit'] = $sesLimit;
196
+
197
+ //ユーザーIDを格納
198
+
199
+ $_SESSION['user_id'] = $dbh->lastInsertId();
200
+
201
+
202
+
203
+ debug('セッション変数の中身:' . print_r($_SESSION, true));
204
+
205
+
206
+
207
+ header("Location:mypage.php"); //マイページへ
208
+
209
+ }
210
+
211
+ } catch (Exception $e) {
212
+
213
+ error_log('エラー発生:' . $e->getMessage());
214
+
215
+ $err_msg['common'] = MSG07;
216
+
217
+ }
218
+
219
+ }
220
+
221
+ }
222
+
223
+ }
224
+
225
+ }
226
+
227
+ ?>
228
+
229
+
230
+
231
+ <?php
232
+
233
+ $siteTitle = 'ユーザー登録';
234
+
235
+ require('head.php');
236
+
237
+ ?>
238
+
239
+
240
+
241
+ <body class="page-signup page-1colum">
242
+
243
+
244
+
245
+ <!-- ヘッダー -->
246
+
247
+ <?php
248
+
249
+ require('header.php');
250
+
251
+ ?>
252
+
253
+
254
+
255
+ <!-- メインコンテンツ -->
256
+
257
+ <div id="contents" class="site-width">
258
+
259
+
260
+
261
+ <!-- Main -->
262
+
263
+ <section class="main">
264
+
265
+ <div class="form-container">
266
+
267
+ <form action="" method="post" class="form">
268
+
269
+
270
+
271
+ <h2 class="title">ユーザー登録</h2>
272
+
273
+
274
+
275
+ <div class="area-msg">
276
+
277
+ <?php
278
+
279
+ if (!empty($err_msg['common'])) echo $err_msg['common'];
280
+
281
+ ?>
282
+
283
+ </div>
284
+
285
+
286
+
287
+
288
+
289
+ <label class="<?php if (!empty($err_msg['email'])) echo $err_msg['email']; ?>">
290
+
291
+ Email
292
+
293
+ <input type="text" name="email" value="<?php if (!empty($_POST['email'])) echo $_POST['email']; ?>">
294
+
295
+ </label>
296
+
297
+ <div class="area-msg">
298
+
299
+ <?php
300
+
301
+ if (!empty($err_msg['email'])) echo $err_msg['email'];
302
+
303
+ ?>
304
+
305
+ </div>
306
+
307
+
308
+
309
+
310
+
311
+ <label class="<?php if (!empty($err_msg['pass'])) echo $err_msg['pass']; ?>">
312
+
313
+ パスワード<input type="password" name="pass" value="<?php if (!empty($_POST['pass'])) echo $_POST['pass']; ?>">
314
+
315
+ </label>
316
+
317
+ <div class="area-msg">
318
+
319
+ <?php
320
+
321
+ if (!empty($err_msg['pass'])) echo $err_msg['pass'];
322
+
323
+ ?>
324
+
325
+ </div>
326
+
327
+ <label class="<?php if (!empty($err_msg['pass_re'])) echo $err_msg['pass_re']; ?>">
328
+
329
+ パスワード(再入力)
330
+
331
+ <input type="password" name="pass_re" value="<?php if (!empty($_POST['pass_re'])) echo $_POST['pass_re']; ?>">
332
+
333
+ </label>
334
+
335
+ <div class="area-msg">
336
+
337
+ <?php
338
+
339
+ if (!empty($err_msg['pass_re'])) echo $err_msg['pass_re'];
340
+
341
+ ?>
342
+
343
+ </div>
344
+
345
+
346
+
347
+ <div class="btn-container">
348
+
349
+ <input type="submit" class="btn btn-mid" value="登録する">
350
+
351
+ <div>
352
+
353
+ </form>
354
+
355
+ </div>
356
+
357
+
358
+
359
+ </section>
360
+
361
+ </div>
362
+
363
+
364
+
365
+ <!-- footer -->
366
+
367
+ <?php
368
+
369
+ require('footer.php');
370
+
371
+ ?>
372
+
373
+
374
+
375
+
376
+
377
+
378
+
29
379
  ### 試したこと
30
380
 
31
381