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 相关文章推荐
PHP中文汉字验证码
Apr 08 PHP
PHP array_push 数组函数
Dec 26 PHP
PHP+ajax 无刷新删除数据
Feb 20 PHP
PHP XML error parsing SOAP payload on line 1
Jun 17 PHP
PHPUnit PHP测试框架安装方法
Mar 23 PHP
使用php shell命令合并图片的代码
Jun 23 PHP
php环境套包 dedeampz 伪静态设置示例
Mar 26 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 PHP
yii去掉必填项中星号的方法
Dec 28 PHP
Zend Framework教程之Application用法实例详解
Mar 14 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
Sep 11 PHP
PHP实现随机数字、字母的验证码功能
Aug 01 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使用glob函数快速查询指定目录文件的方法
2014/11/15 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
2018/05/28 PHP
juqery 学习之四 筛选过滤
2010/11/30 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
2014/09/04 Javascript
js监听鼠标点击和键盘点击事件并自动跳转页面
2014/09/24 Javascript
js实现按钮控制图片360度翻转特效的方法
2015/02/17 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
Angular2生命周期钩子函数的详细介绍
2017/07/10 Javascript
使用nvm管理不同版本的node与npm的方法
2017/10/31 Javascript
详解几十行代码实现一个vue的状态管理
2019/01/28 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
vue+koa2实现session、token登陆状态验证的示例
2019/08/30 Javascript
微信小程序实现点击按钮后修改颜色
2019/12/05 Javascript
[02:51]DOTA2英雄基础教程 艾欧
2014/01/13 DOTA
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
python基于ID3思想的决策树
2018/01/03 Python
深入理解Django的中间件middleware
2018/03/14 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
python 实现登录网页的操作方法
2018/05/11 Python
python 日期排序的实例代码
2019/07/11 Python
python数据预处理 :数据抽样解析
2020/02/24 Python
基于python实现操作git过程代码解析
2020/07/27 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
python使用布隆过滤器的实现示例
2020/08/20 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
2020/09/09 Python
Python实现疫情地图可视化
2021/02/05 Python
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
图书室管理制度
2014/01/19 职场文书
农村文化建设标语
2014/10/07 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
数学教师个人工作总结
2015/02/06 职场文书
求职简历自荐信怎么写
2015/03/26 职场文书
2016消防宣传标语口号
2015/12/26 职场文书
只需要100行Python代码就可以实现的贪吃蛇小游戏
2021/05/27 Python
Python3中PyQt5简单实现文件打开及保存
2021/06/10 Python
我收到了德劲DE1107
2022/04/05 无线电