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邮件类
Jan 03 PHP
php 8小时时间差的解决方法小结
Dec 22 PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
Nov 07 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
Jan 10 PHP
汇总PHPmailer群发Gmail的常见问题
Feb 24 PHP
header与缓冲区之间的深层次分析
Jul 30 PHP
PHP实现批量检测网站是否能够正常打开的方法
Aug 23 PHP
thinkPHP中配置的读取与C方法详解
Dec 05 PHP
php5.6.x到php7.0.x特性小结
Aug 17 PHP
php和nginx交互实例讲解
Sep 24 PHP
PHP 实现 JSON 数据的编码和解码操作详解
Apr 22 PHP
浅谈如何提高PHP代码的质量
May 28 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
一个oracle+PHP的查询的例子
2006/10/09 PHP
php开启安全模式后禁用的函数集合
2011/06/26 PHP
PHP数组排序之sort、asort与ksort用法实例
2014/09/08 PHP
PHP 断点续传实例详解
2017/11/11 PHP
js获取变量
2006/08/24 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
2016/03/11 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
JS简单测试循环运行时间的方法
2016/09/04 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
Vue精简版风格概述
2018/01/30 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
Vue项目实现简单的权限控制管理功能
2019/07/17 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
vue计算属性无法监听到数组内部变化的解决方案
2019/11/06 Javascript
js实现金山打字通小游戏
2020/07/24 Javascript
JavaScript this关键字指向常用情况解析
2020/09/02 Javascript
vuex刷新后数据丢失的解决方法
2020/10/18 Javascript
下载糗事百科的内容_python版
2008/12/07 Python
python 中split 和 strip的实例详解
2017/07/12 Python
python贪婪匹配以及多行匹配的实例讲解
2018/04/19 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
浅谈python下tiff图像的读取和保存方法
2018/12/04 Python
Python中zipfile压缩文件模块的基本使用教程
2020/06/14 Python
Python通过类的组合模拟街道红绿灯
2020/09/16 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
AVI-8手表美国官方商店:AVI-8 USA
2019/04/10 全球购物
.net面试题
2015/12/22 面试题
军事理论课感想
2015/08/11 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
基于Redis延迟队列的实现代码
2021/05/13 Redis
Python基于百度API识别并提取图片中文字
2021/06/27 Python
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技