質問編集履歴
3
該当のソースコード にログインフォームのコードを追加しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -192,6 +192,79 @@
|
|
192
192
|
?>
|
193
193
|
|
194
194
|
```
|
195
|
+
ログインフォーム(login.php)
|
196
|
+
```PHP
|
197
|
+
<!DOCTYPE html>
|
198
|
+
<html lang="ja">
|
199
|
+
<head>
|
200
|
+
<meta charset="UTF-8">
|
201
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
202
|
+
<link rel="stylesheet" type="text/css" href="login.css?v=5">
|
203
|
+
<link rel="icon" href="images/wordcard.png">
|
204
|
+
<title>Hello!Words ログイン</title>
|
205
|
+
</head>
|
206
|
+
<body>
|
207
|
+
<div id="container">
|
208
|
+
<h2>Hello! Words ログイン画面</h2>
|
209
|
+
<p>ログイン情報を入力してください</p>
|
210
|
+
<!-- action属性で情報の送り先となるページ(Logincheck.php)を指定 -->
|
211
|
+
<form action="Logincheck.php" method="post">
|
212
|
+
<table>
|
213
|
+
<tr>
|
214
|
+
<th>ユーザー名</th>
|
215
|
+
<td><input type="text" name="user_name"></td>
|
216
|
+
</tr>
|
217
|
+
<tr>
|
218
|
+
<th>パスワード</th>
|
219
|
+
<td><input type="password" name="user_password"></td>
|
220
|
+
</tr>
|
221
|
+
</table>
|
222
|
+
<input class="buttons" type="submit" href="main.php" value="ログイン">
|
223
|
+
</form>
|
224
|
+
<a href="top.php">トップへ戻る</a>
|
225
|
+
</div>
|
226
|
+
</body>
|
227
|
+
</html>
|
228
|
+
```
|
229
|
+
ユーザー名またはパスワードが一致せずログインできなかった場合に表示するページ(login2.php)
|
230
|
+
```PHP
|
231
|
+
<!DOCTYPE html>
|
232
|
+
<html lang="ja">
|
233
|
+
<head>
|
234
|
+
<meta charset="UTF-8">
|
235
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
236
|
+
<link rel="stylesheet" type="text/css" href="login.css?v=4">
|
237
|
+
<link rel="icon" href="images/wordcard.png">
|
238
|
+
<title>Hello!Words ログイン</title>
|
239
|
+
</head>
|
240
|
+
<body>
|
241
|
+
<div id="container">
|
242
|
+
<h2>Hello! Words ログイン画面</h2>
|
243
|
+
<p>ログイン情報を入力してください</p>
|
244
|
+
<!-- action属性で情報の送り先となるページ(Logincheck.php)を指定 -->
|
245
|
+
<!-- エラー表示 -->
|
246
|
+
<div class="err">ユーザー名またはパスワードが違います</div>
|
247
|
+
<form action="Logincheck.php" method="post">
|
248
|
+
<table>
|
249
|
+
<tr>
|
250
|
+
<th>ユーザー名</th>
|
251
|
+
<td><input type="text" name="user_name"></td>
|
252
|
+
</tr>
|
253
|
+
<tr>
|
254
|
+
<th>パスワード</th>
|
255
|
+
<td><input type="password" name="user_password"></td>
|
256
|
+
</tr>
|
257
|
+
<tr>
|
258
|
+
<!-- <th><input type="submit" href="top.php" value="トップページに戻る"></th> -->
|
259
|
+
<th><input class="buttons" type="submit" href="main.php" value="ログイン"></th>
|
260
|
+
</tr>
|
261
|
+
</table>
|
262
|
+
</form>
|
263
|
+
<a href="top.php">トップへ戻る</a>
|
264
|
+
</div>
|
265
|
+
</body>
|
266
|
+
</html>
|
267
|
+
```
|
195
268
|
|
196
269
|
### 試したこと
|
197
270
|
|
2
追記: に回答者の方からご指摘いただいた内容を実践した結果を追加しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -17,10 +17,8 @@
|
|
17
17
|
|
18
18
|
※なお、password_hashを用いたパスワードの暗号化は出来ており、暗号化されたパスワードはDB内ユーザーアカウント管理のテーブルに問題なく登録されております。
|
19
19
|
|
20
|
-
```
|
21
|
-
エラーメッセージ
|
22
|
-
```
|
23
20
|
|
21
|
+
|
24
22
|
### 該当のソースコード
|
25
23
|
password_verifyを使用しているソースコードはこちら↓です。
|
26
24
|
既存のアカウントに対してログインできるかチェックを行う(Logincheck.php)
|
@@ -227,4 +225,27 @@
|
|
227
225
|
**使用ツールについて**
|
228
226
|
OS: Windows10
|
229
227
|
開発環境: XAMPP Control Panel v3.2.4
|
230
|
-
コーディングツール: Visual Studio Code
|
228
|
+
コーディングツール: Visual Studio Code
|
229
|
+
|
230
|
+
|
231
|
+
### 追記:
|
232
|
+
hoshi-takanori様からご指摘いただいた内容を試してみました(ご指摘の内容はコメント欄をご覧ください)。
|
233
|
+
|
234
|
+
- まず、既存のアカウントでログインを行う際にパスワードを空文字でログインを試みたところ、以下↓の画面表示となりました。
|
235
|
+
|
236
|
+
ユーザーID ユーザー名 ユーザーアドレス ユーザーパスワード(暗号化したもの)
|
237
|
+
ユーザーパスワード(暗号化したもの)
|
238
|
+
**ログインOK**
|
239
|
+
|
240
|
+
...上記 "ログインOK"との表示から、ログイン出来ており、その際のパスワードは空文字で登録されていた。ということが判明しました。
|
241
|
+
|
242
|
+
- そこで、registAccount.phpファイル内にてパスワードハッシュ化を行う箇所のスーパーグローバル変数を以下のように変更
|
243
|
+
($_SESSION → $_POST)
|
244
|
+
|
245
|
+
```PHP
|
246
|
+
// パスワードは暗号化して登録する
|
247
|
+
$hash = password_hash($_POST["user_password"], PASSWORD_DEFAULT);
|
248
|
+
```
|
249
|
+
上記コードに変更後、テストを行った(新規ユーザー登録を行い、一旦ログアウトした後にログインを試みた)ところ、問題なくログインすることができました。
|
250
|
+
|
251
|
+
**質問した内容について解決することができ、本当に助かりました。ご回答いただいた皆様、本当にありがとうございました。**
|
1
補足情報を加筆しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -22,7 +22,8 @@
|
|
22
22
|
```
|
23
23
|
|
24
24
|
### 該当のソースコード
|
25
|
+
password_verifyを使用しているソースコードはこちら↓です。
|
25
|
-
|
26
|
+
既存のアカウントに対してログインできるかチェックを行う(Logincheck.php)
|
26
27
|
```PHP
|
27
28
|
<?php
|
28
29
|
// session開始
|
@@ -109,6 +110,7 @@
|
|
109
110
|
?>
|
110
111
|
|
111
112
|
```
|
113
|
+
**関連ファイルの情報**
|
112
114
|
DBと繋ぐためのファイル(DBconnect.php)
|
113
115
|
|
114
116
|
```PHP
|
@@ -216,10 +218,13 @@
|
|
216
218
|
|
217
219
|
### 補足情報(FW/ツールのバージョンなど)
|
218
220
|
|
221
|
+
**データベースの情報**
|
219
222
|
DB名: hellowordsdb
|
220
223
|
DBでユーザー管理を行うテーブルの情報は以下の通りです。
|
221
224
|
テーブル名: stockuser
|
222
225
|
カラム名: user_id, user_name, user_address, user_password, enable(有効なアカウントかを入力)
|
223
226
|
|
227
|
+
**使用ツールについて**
|
228
|
+
OS: Windows10
|
224
|
-
XAMPP Control Panel v3.2.4
|
229
|
+
開発環境: XAMPP Control Panel v3.2.4
|
225
230
|
コーディングツール: Visual Studio Code
|