为了账号安全,请及时绑定邮箱和手机立即绑定

在登录脚本中放置password_verify的位置?

在登录脚本中放置password_verify的位置?

PHP
PIPIONE 2019-08-14 15:40:37
在登录脚本中放置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;


查看完整回答
反对 回复 2019-08-14
  • 2 回答
  • 0 关注
  • 1142 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信