在登录脚本中放置password_verify的位置?另一个晚上,另一个问题!我创建了一个登录页面,如果密码是纯文本,它可以正常工作。我遇到的问题是我的注册表单使用password_hash为表输入加密密码。我目前的脚本如下。注册脚本$password = password_hash($_POST['password'], PASSWORD_DEFAULT);登录脚本<?php
session_start();
if(isset($_POST['email'], $_POST['password'])){
require('../../../private_html/db_connection/connection.php');
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = $conn->prepare("SELECT * FROM user_accounts WHERE email=:email AND password=:password");
$query->bindParam(':email', $_POST['email']);
$query->bindParam(':password', $_POST['password']);
$query->execute();
if($row = $query->fetch()){
$_SESSION['email'] = $row['email'];
$_SESSION['first_name'] = $row['first_name'];
header("Location: ../../myaccount/myaccount.php");
}
else {header("Location:../../login/login.php ");}
}?>我对这个有几个问题:我password_verify在哪里放入登录脚本?$_SESSION['xxx'] = $row['xxx'];在“我的帐户”页面上不必输入多个来显示用户详细信息,如何使用$results = $stmt->fetch(PDO::FETCH_ASSOC);我读过的方法?提前谢谢了,CyrilWalrus
2 回答
郎朗坤
TA贡献1921条经验 获得超9个赞
$query = $conn->prepare("SELECT * FROM user_accounts WHERE email=?");$query->execute([$_POST['email']]);if($row = $query->fetch() && password_verify($_POST['password'], $row['password'])){ $_SESSION['user'] = $row;
- 2 回答
- 0 关注
- 1142 浏览
添加回答
举报
0/150
提交
取消