php mysqli不识别,不识别数据库PHP MYSQLi中的密码
我有一个注册表单,允许用户创建用户名和密码,然后存储在数据库中.
//values to be inserted in database table
//session_start();
include('connect.php');
//Fixed cost of 10 to fit server req
//Random salt to be added to the pass
$options = [
'cost' => 10,
'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM),
];
$email = $_POST['email'];
$password= password_hash($_POST['password'], PASSWORD_BCRYPT, $options);
$username= $_POST['username'];
$query = "INSERT INTO users (username, email, password) VALUES(?, ?, ?)";
$statement = $mysqli->prepare($query);
//bind parameters for markers, where (s = string, i = integer, d = double, b = blob)
$statement->bind_param('sss', $username, $email, $password);
if($statement->execute()){
print 'Success! ID of last inserted record is : ' .$statement->insert_id .'
';
}else{
die('Error : ('. $mysqli->errno .') '. $mysqli->error);
}
$statement->close();
?>
这是我的脚本,用于检查用户输入的用户名和密码是否存在.
include 'connect.php';
if ( !isset($_POST['username'], $_POST['password']) ) {
// Could not get the data that should have been sent.
die ('Username and/or password does not exist!');
}
// Prepare our SQL
if ($stmt = $mysqli->prepare('SELECT password FROM users WHERE username = ?')) {
// Bind parameters (s = string, i = int, b = blob, etc), hash the password using the PHP password_hash function.
$stmt->bind_param('s', $_POST['username']);
$stmt->execute();
$stmt->store_result();
// Store the result so we can check if the account exists in the database.
if ($stmt->num_rows > 0) {
$stmt->bind_result($password);
$stmt->fetch();
// Account exists, now we verify the password.
if (password_verify($_POST['password'], $password)) {
// Verification success! User has loggedin!
echo 'You have logged in!';
} else {
echo 'Incorrect username and/or password!';
}
} else {
echo 'Incorrect username blar password!';
}
$stmt->close();
} else {
echo 'Could not prepare statement!';
}
?>
它输出的用户名和/或密码不正确,所以我假设问题在于我在注册系统中对密码进行了哈希处理,或者它是否只是找不到我正在寻找的详细信息.
HTML表格:
Enter your username and password to sign in
Username*
Password *
Show
Forgot your password?
Click here
解决方法:
type =“username”不是有效的表单元素类型.
将其更改为type =“text”
但是,我之前在评论中提到过:
type=”username” use type=”text” – Fred -ii- 20 mins ago
>我确实说“使用”而不是“尝试”;-)
您可能认为“用户名”类型是HTML5语法;事实并非如此.
要查看有效的HTML5输入类型列表,请参阅以下链接:
从W3.org页面中拉出:
input元素是用于表示输入控件的多用途元素.
以下各节介绍了input元素的详细信息:
>输入类型=文本
>输入类型=密码
>输入类型=复选框
>输入类型=无线电
>输入类型=按钮
>输入类型=提交
>输入类型=重置
>输入类型=文件
>输入类型=隐藏
>输入类型=图像
>输入类型=日期时间新
>输入类型=日期时间 – 本地新
>输入类型=日期新
>输入类型=月新
>输入类型=时间新
>输入类型=周新
>输入类型=数字新
>输入类型=范围NEW
>输入类型=电子邮件新
>输入类型=网址新
>输入类型=搜索新
>输入类型= tel NEW
>输入类型=颜色新
关于在您的密码列中使用varchar(60)并从password_hash()手册中提取的旁注:
PASSWORD_DEFAULT – 使用bcrypt算法(默认自PHP 5.5.0起).请注意,此常量旨在随着时间的推移而变化,因为新的和更强大的算法被添加到PHP中.因此,使用此标识符的结果长度可能会随时间而变化.因此,建议将结果存储在数据库列中,该列可以扩展到超过60个字符(255个字符将是一个不错的选择).
标签:php,login
来源: https://codeday.me/bug/20190727/1557494.html
php mysqli不识别,不识别数据库PHP MYSQLi中的密码相关推荐
- mysql到mysqli转变表_利用mysql和mysqli取得mysql的所有数据库和库中的所有表
/*** mysqli op mysql demo*//***公用函数*//***功能:列出一个数据库的所有表*@param$dbname*@param$con*/functionlist_tabl ...
- 利用mysql数据库中_利用mysql和mysqli取得mysql的所有数据库和库中的所有表
功能:利用mysql和mysqli两种连接数据库的方法,取得Mysql服务器上的所有数据库和库中的所有表. 环境:自己用分开安装apache mysql php搭建的环境 操作系统是:windows ...
- php百度人脸识别做登陆,php调用百度人脸识别接口查询数据库人脸信息实现验证登录功能...
博主在进行鼎食城毕业设计时,需要实现一个人脸识别登录功能,想到可以利用百度的人脸识别接口来完成,于是便去下载了百度的识别SDK,我用的是PHP,需要的的可以去下载其他版本,以下是识别效果: 用户在开始 ...
- (五)为边缘AI人脸识别创建人脸数据库
目录 介绍 数据库中有什么 创建数据库 填充数据库 下一步 在这里,我们将解释用于人脸识别的简单人脸数据库的结构,开发用于将人脸添加到人脸数据库的实用程序的Python代码,并提供下载人脸以创建数据库 ...
- php 人脸识别接口,php调用百度人脸识别接口查询数据库人脸信息实现验证登录功能...
博主在进行鼎食城毕业设计时,需要实现一个人脸识别登录功能,想到可以利用百度的人脸识别接口来完成,于是便去下载了百度的识别SDK,我用的是PHP,需要的的可以去下载其他版本,以下是识别效果: 用户在开始 ...
- 【MySQL -ERROR】MySQL 报错 ERROR 1327 创建函数识别不出数据库中的表(解决方法)
1.问题背景 今天用MySQL创建含流程控制语句函数,遇到总会识别不出数据库中的courses表,courses是存在数据库中,且可以正常使用的,报错如下: ERROR 1327 (42000): U ...
- python人脸识别训练模型_开源 | 基于Python的人脸识别:识别准确率高达99.38%!
原标题:开源 | 基于Python的人脸识别:识别准确率高达99.38%! 该库使用 dlib 顶尖的深度学习人脸识别技术构建,在户外脸部检测数据库基准(Labeled Faces in the Wi ...
- Java软件研发工程师转行之深度学习(Deep Learning)进阶:手写数字识别+人脸识别+图像中物体分类+视频分类+图像与文字特征+猫狗分类
本文适合于对机器学习和数据挖掘有所了解,想深入研究深度学习的读者 1.对概率基本概率有所了解 2.具有微积分和线性代数的基本知识 3.有一定的编程基础(Python) Java软件研发工程师转行之深度 ...
- 揭秘!文字识别在高德地图数据生产中的演进
简介:丰富准确的地图数据大大提升了我们在使用高德地图出行的体验.相比于传统的地图数据采集和制作,高德地图大量采用了图像识别技术来进行数据的自动化生产,而其中场景文字识别技术占据了重要位置.商家招牌上的 ...
最新文章
- android自定义view获取控件,android 自定义控件View在Activity中使用findByViewId得到结果为null...
- SCOM2012部署系列之九:部署审核收集报告(ACSReporting)
- java html 字符串截取字符串长度_Java截取带html标签的字符串,再把标签补全(保证页面显示效果)...
- python 如何自学-如何系统地自学 Python?
- Word的常用功能设置(
- 新纳米结构能加快电子设备运行
- 对文本根据特殊字符进行分段代码_如何优雅地配置快应用的代码片段
- C,C++,C#的点评
- 盘点2020 最烂密码大曝光,第一名的竟然是它?
- Filecoin Gas基础费率降至3.76 nanoFIL
- 15.3D效果,盒阴影和滤镜
- SAS接口互连完全指南
- 计算机病毒教学评课,计算机病毒评课稿.docx
- sql事务Transaction
- winhex数据恢复入门教程
- 使用wgd进行全基因组复制分析
- 推荐一款免费的数据库管理工具,比Navicat还要好用,功能还很强大!
- Apache Avro项目简介
- 全世界国家的数据库sql
- 电脑如何修改图片尺寸大小?怎么图片改大小?
热门文章
- 关于 SAP Spartacus 和 SmartEdit 集成的问题
- SAP Cloud for Customer 标准培训课程
- SAP Spartacus把指定产品添加到购物车的API
- package javax.servlet.jsp.tagext does not exist的错误消息如何解决
- 从SAP Leonardo到SAP Data Intelligence
- 如何在SAP gateway系统配置路由到后台系统的OData服务路径
- How is Component.js loaded - backend processing
- Chrome source code map - fail - cannot debug
- SAP CRM中间件队列CSAPR_HIERR3PRODHIER
- SAP Leonardo机器学习模型重新训练的日志