我有一个注册表单,允许用户创建用户名和密码,然后存储在数据库中.

//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中的密码相关推荐

  1. mysql到mysqli转变表_利用mysql和mysqli取得mysql的所有数据库和库中的所有表

    /*** mysqli  op mysql demo*//***公用函数*//***功能:列出一个数据库的所有表*@param$dbname*@param$con*/functionlist_tabl ...

  2. 利用mysql数据库中_利用mysql和mysqli取得mysql的所有数据库和库中的所有表

    功能:利用mysql和mysqli两种连接数据库的方法,取得Mysql服务器上的所有数据库和库中的所有表. 环境:自己用分开安装apache mysql php搭建的环境 操作系统是:windows ...

  3. php百度人脸识别做登陆,php调用百度人脸识别接口查询数据库人脸信息实现验证登录功能...

    博主在进行鼎食城毕业设计时,需要实现一个人脸识别登录功能,想到可以利用百度的人脸识别接口来完成,于是便去下载了百度的识别SDK,我用的是PHP,需要的的可以去下载其他版本,以下是识别效果: 用户在开始 ...

  4. (五)为边缘AI人脸识别创建人脸数据库

    目录 介绍 数据库中有什么 创建数据库 填充数据库 下一步 在这里,我们将解释用于人脸识别的简单人脸数据库的结构,开发用于将人脸添加到人脸数据库的实用程序的Python代码,并提供下载人脸以创建数据库 ...

  5. php 人脸识别接口,php调用百度人脸识别接口查询数据库人脸信息实现验证登录功能...

    博主在进行鼎食城毕业设计时,需要实现一个人脸识别登录功能,想到可以利用百度的人脸识别接口来完成,于是便去下载了百度的识别SDK,我用的是PHP,需要的的可以去下载其他版本,以下是识别效果: 用户在开始 ...

  6. 【MySQL -ERROR】MySQL 报错 ERROR 1327 创建函数识别不出数据库中的表(解决方法)

    1.问题背景 今天用MySQL创建含流程控制语句函数,遇到总会识别不出数据库中的courses表,courses是存在数据库中,且可以正常使用的,报错如下: ERROR 1327 (42000): U ...

  7. python人脸识别训练模型_开源 | 基于Python的人脸识别:识别准确率高达99.38%!

    原标题:开源 | 基于Python的人脸识别:识别准确率高达99.38%! 该库使用 dlib 顶尖的深度学习人脸识别技术构建,在户外脸部检测数据库基准(Labeled Faces in the Wi ...

  8. Java软件研发工程师转行之深度学习(Deep Learning)进阶:手写数字识别+人脸识别+图像中物体分类+视频分类+图像与文字特征+猫狗分类

    本文适合于对机器学习和数据挖掘有所了解,想深入研究深度学习的读者 1.对概率基本概率有所了解 2.具有微积分和线性代数的基本知识 3.有一定的编程基础(Python) Java软件研发工程师转行之深度 ...

  9. 揭秘!文字识别在高德地图数据生产中的演进

    简介:丰富准确的地图数据大大提升了我们在使用高德地图出行的体验.相比于传统的地图数据采集和制作,高德地图大量采用了图像识别技术来进行数据的自动化生产,而其中场景文字识别技术占据了重要位置.商家招牌上的 ...

最新文章

  1. android自定义view获取控件,android 自定义控件View在Activity中使用findByViewId得到结果为null...
  2. SCOM2012部署系列之九:部署审核收集报告(ACSReporting)
  3. java html 字符串截取字符串长度_Java截取带html标签的字符串,再把标签补全(保证页面显示效果)...
  4. python 如何自学-如何系统地自学 Python?
  5. Word的常用功能设置(
  6. 新纳米结构能加快电子设备运行
  7. 对文本根据特殊字符进行分段代码_如何优雅地配置快应用的代码片段
  8. C,C++,C#的点评
  9. 盘点2020 最烂密码大曝光,第一名的竟然是它?
  10. Filecoin Gas基础费率降至3.76 nanoFIL
  11. 15.3D效果,盒阴影和滤镜
  12. SAS接口互连完全指南
  13. 计算机病毒教学评课,计算机病毒评课稿.docx
  14. sql事务Transaction
  15. winhex数据恢复入门教程
  16. 使用wgd进行全基因组复制分析
  17. 推荐一款免费的数据库管理工具,比Navicat还要好用,功能还很强大!
  18. Apache Avro项目简介
  19. 全世界国家的数据库sql
  20. 电脑如何修改图片尺寸大小?怎么图片改大小?

热门文章

  1. 关于 SAP Spartacus 和 SmartEdit 集成的问题
  2. SAP Cloud for Customer 标准培训课程
  3. SAP Spartacus把指定产品添加到购物车的API
  4. package javax.servlet.jsp.tagext does not exist的错误消息如何解决
  5. 从SAP Leonardo到SAP Data Intelligence
  6. 如何在SAP gateway系统配置路由到后台系统的OData服务路径
  7. How is Component.js loaded - backend processing
  8. Chrome source code map - fail - cannot debug
  9. SAP CRM中间件队列CSAPR_HIERR3PRODHIER
  10. SAP Leonardo机器学习模型重新训练的日志