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 相关文章推荐
利用static实现表格的颜色隔行显示的代码
Sep 02 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
PHP处理excel cvs表格的方法实例介绍
May 13 PHP
非常实用的php弹出错误警告函数扩展性强
Jan 17 PHP
简单分析ucenter 会员同步登录通信原理
Aug 25 PHP
Codeigniter框架实现获取分页数据和总条数的方法
Dec 05 PHP
PHP利用APC模块实现文件上传进度条的方法
Jan 26 PHP
php实现过滤UBB代码的类
Mar 12 PHP
使用php实现从身份证中提取生日
May 09 PHP
mysql alter table命令修改表结构实例详解
Sep 24 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
laravel框架创建授权策略实例分析
Nov 22 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
php获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
探讨php中header的用法详解
2013/06/07 PHP
编译php 5.2.14+fpm+memcached(具体操作详解)
2013/06/18 PHP
php实现的Captcha验证码类实例
2014/09/22 PHP
php缓冲输出实例分析
2015/01/05 PHP
php file_get_contents取文件中数组元素的方法
2017/04/01 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
多个jQuery版本共存的处理方案
2015/03/17 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
利用CDN加速react webpack打包后的文件详解
2018/02/22 Javascript
jQuery实现表格隔行换色
2018/09/01 jQuery
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
JavaScript展开操作符(Spread operator)详解
2019/07/20 Javascript
图文详解WinPE下安装Python
2016/05/17 Python
Python网络编程详解
2017/10/31 Python
Python爬虫设置代理IP的方法(爬虫技巧)
2018/03/04 Python
python 美化输出信息的实例
2018/10/15 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
Django基于Models定制Admin后台实现过程解析
2020/11/11 Python
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
土木工程师岗位职责
2013/11/24 职场文书
技术总监个人的自我评价范文
2013/12/18 职场文书
硕士研究生自我鉴定范文
2013/12/27 职场文书
企业精细化管理实施方案
2014/03/23 职场文书
建筑工地标语
2014/06/18 职场文书
高一课前三分钟演讲稿
2014/09/13 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
Python WSGI 规范简介
2021/04/11 Python
python中对列表的删除和添加方法详解
2022/02/24 Python