php中存储用户ID和密码到mysql数据库的方法


Posted in PHP onFebruary 06, 2013

创建用户信息表:

CREATE TABLE tbl_auth_user (
user_id VARCHAR(10) NOT NULL,
user_password CHAR(32) NOT NULL,
PRIMARY KEY (user_id)
);
INSERT INTO tbl_auth_user (user_id, user_password) VALUES ('theadmin', PASSWORD('chumbawamba'));
INSERT INTO tbl_auth_user (user_id, user_password) VALUES ('webmaster', PASSWORD('webmistress'));

我们将使用相同的html代码来创建登录表单在上述示例中创建的。我们只需要修改登录过程有点。
登录脚本:
<?php
// 我们必须永远不会忘记启动会话
session_start();
$errorMessage = '';
if (isset($_POST['txtUserId']) && isset($_POST['txtPassword'])) {
   include 'library/config.php';
   include 'library/opendb.php';
   $userId = $_POST['txtUserId'];
   $password = $_POST['txtPassword'];
   // 检查用户id和密码组合存在于数据库
   $sql = "SELECT user_id 
           FROM tbl_auth_user
           WHERE user_id = '$userId' 
                 AND user_password = PASSWORD('$password')";
   $result = mysql_query($sql) 
             or die('Query failed. ' . mysql_error());
   if (mysql_num_rows($result) == 1) {
      // sessionthe设置用户id和密码匹配,
      // 设置会话
      $_SESSION['db_is_logged_in'] = true;
      // 在登录后我们转到主页
      header('Location: main.php');
      exit;
   } else {
      $errorMessage = 'Sorry, wrong user id / password';
   }
   include 'library/closedb.php';
}
?>

/ /…相同的html登录表单前一个示例一样

而不是检查用户id和密码对硬编码的信息我们查询数据库,如果这两个存在于数据库使用SELECT查询。如果我们发现一个匹配我们设置会话变量和移动到主页。注意,会话的名字是前缀 “db”使它不同于先前的示例。

在接下来的两个脚本(主要。php和注销。php)代码类似于前一个。唯一的区别是会话名称。这是为这两个的代码

<?php
session_start();
//是一个访问这个页面登录呢?
if (!isset($_SESSION['db_is_logged_in']) 
   || $_SESSION['db_is_logged_in'] !== true) {
   // 没有登录,返回到登录页面
   header('Location: login.php');
   exit;
}
?>

/ /…这里的一些html代码
<?php
session_start();
// 如果用户已登录,设置会话
if (isset($_SESSION['db_is_logged_in'])) {
   unset($_SESSION['db_is_logged_in']);
}
// 现在,用户登录,
// 去登录页面
header('Location: login.php');
?>
PHP 相关文章推荐
用libtemplate实现静态网页生成
Oct 09 PHP
杏林同学录(六)
Oct 09 PHP
ob_start(),ob_start('ob_gzhandler')使用
Dec 25 PHP
PHP取进制余数函数代码
Jan 19 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
Mar 06 PHP
zf框架的Filter过滤器使用示例
Mar 13 PHP
学习php中的正则表达式
Aug 17 PHP
php自定义函数实现JS的escape的方法示例
Jul 07 PHP
PHP单态模式简单用法示例
Nov 16 PHP
php中引用符号(&amp;)的使用详细介绍
Dec 06 PHP
PHP用PDO如何封装简单易用的DB类详解
Jul 30 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
Sep 13 PHP
php中使用__autoload()自动加载未定义类的实现代码
Feb 06 #PHP
php中使用preg_match_all匹配文章中的图片
Feb 06 #PHP
php中使用addslashes函数报错问题的解决方法
Feb 06 #PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
Feb 06 #PHP
php中设置index.php文件为只读的方法
Feb 06 #PHP
php中选择什么接口(mysql、mysqli)访问mysql
Feb 06 #PHP
php连接mssql的一些相关经验及注意事项
Feb 05 #PHP
You might like
3种不同方式的焦点图轮播特效分享
2013/10/30 Javascript
关于js中for in的缺陷浅析
2013/12/02 Javascript
使用jQuery实现星级评分代码分享
2014/12/09 Javascript
javascript+canvas实现刮刮卡抽奖效果
2015/07/29 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
概述jQuery中的ajax方法
2016/12/16 Javascript
vue监听input标签的value值方法
2018/08/27 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
2019/01/30 Javascript
原生js实现3D轮播图
2020/03/21 Javascript
如何在Vue中抽离接口配置文件
2019/10/31 Javascript
打开电脑上的QQ的python代码
2013/02/10 Python
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
2014/06/10 Python
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
Python中的列表生成式与生成器学习教程
2016/03/13 Python
python爬虫框架talonspider简单介绍
2017/06/09 Python
Python实现的简单计算器功能详解
2018/08/25 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
Python后台管理员管理前台会员信息的讲解
2019/01/28 Python
将pip源更换到国内镜像的详细步骤
2019/04/07 Python
Python3内置模块之json编解码方法小结【推荐】
2020/12/09 Python
python向字符串中添加元素的实例方法
2019/06/28 Python
如何使用Python破解ZIP或RAR压缩文件密码
2020/01/09 Python
解决python 找不到module的问题
2020/02/12 Python
Python numpy矩阵处理运算工具用法汇总
2020/07/13 Python
乔丹诺(Giordano)酒庄德国官网:找到最好的意大利葡萄酒
2017/12/28 全球购物
JavaScript实现前端网页版倒计时
2021/03/24 Javascript
保护环境标语
2014/06/09 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
初中思想品德教学反思
2016/02/24 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
成人成长感言如何写?
2019/08/16 职场文书
pytorch实现手写数字图片识别
2021/05/20 Python
React实现动效弹窗组件
2021/06/21 Javascript
MySQL创建定时任务
2022/01/22 MySQL
Java设计模式之代理模式
2022/04/22 Java/Android