回答編集履歴
2
追記
answer
CHANGED
@@ -5,4 +5,18 @@
|
|
5
5
|
$email,
|
6
6
|
password_hash($password,PASSWORD_DEFAULT)
|
7
7
|
]);
|
8
|
+
```
|
9
|
+
|
10
|
+
###追記
|
11
|
+
password_hashの使い方が誤っているとの指摘を受けたので修正。
|
12
|
+
そもそもDB上でパスワードが合っているかを確認できないので、DBに保存されたハッシュ値を受け取って、そのあと生のパスワードデータとハッシュ値を使ってpassword_verifyすればいいんではないでしょうか。
|
13
|
+
```PHP
|
14
|
+
$sql = "SELECT * FROM user_data WHERE email = ?";
|
15
|
+
$stmt = $pdo->prepare($sql);
|
16
|
+
$stmt->execute([
|
17
|
+
$email
|
18
|
+
]);
|
19
|
+
if(password_verify($password, $stmt["password"])) {
|
20
|
+
// OK
|
21
|
+
}
|
8
22
|
```
|
1
修正
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
ハッシュが保存されているなら、executeに渡すべき値はこうなるかと思いますが…
|
2
2
|
|
3
3
|
```PHP
|
4
4
|
$stmt->execute([
|