Php 如何使用$hash加密密码
我如何使这个$hash成为用户注册网站时输入的密码?我已经使用$hash登录,当我使用手动输入的$hash密码测试它时,它工作正常,但无法使用此表单创建加密密码Php 如何使用$hash加密密码,php,hash,password-hash,Php,Hash,Password Hash,我如何使这个$hash成为用户注册网站时输入的密码?我已经使用$hash登录,当我使用手动输入的$hash密码测试它时,它工作正常,但无法使用此表单创建加密密码 <?php if(isset($_POST['emailaddress'],$_POST['password'],$_POST['name'])){ $result= $pdo->prepare('INSERT INTO user (emailaddress, password, name )
<?php
if(isset($_POST['emailaddress'],$_POST['password'],$_POST['name'])){
$result= $pdo->prepare('INSERT INTO user (emailaddress, password, name )
VALUES(:emailaddress, :password, :name)');
$hash = password_hash(password, PASSWORD_DEFAULT);
unset($_POST['submit']);
$result->execute($_POST);
header("Location:admin.php");
}
在执行查询之前,将$hash
添加到$\u POST
中
$_POST['password'] = $hash;
$result->execute($_POST);
更好的是,kingkero评论的内容,这样可以避免在$\u POST
中出现不需要的值,您只传递$\u POST
而从不传递$hash
。类似于execute(数组(':emailaddress'=>$\u POST['emailaddress'],':password'=>$hash,…)
should workpassword\u hash(password,password\u DEFAULT);->密码\u散列($\u POST['password'],密码\u默认值);!