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新手上路(十三)
Oct 09 PHP
excellent!――ASCII Art(由目标图象生成ascii)
Feb 20 PHP
mysql5的sql文件导入到mysql4的方法
Oct 19 PHP
简化php模板页面中分页代码的解析
Feb 06 PHP
Apache2中实现多网站域名绑定的实现方法
Jun 01 PHP
精美漂亮的php分页类代码
Apr 02 PHP
Yii使用ajax验证显示错误messagebox的解决方法
Dec 03 PHP
学习php设计模式 php实现合成模式(composite)
Dec 08 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
Jan 04 PHP
Laravel4中的Validator验证扩展用法详解
Jul 26 PHP
PDO::_construct讲解
Jan 27 PHP
thinkphp5.1 框架钩子和行为用法实例分析
May 25 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
用cookies来跟踪识别用户
2006/10/09 PHP
php下一个阿拉伯数字转中文数字的函数
2007/07/16 PHP
PHP实现的简单分页类及用法示例
2016/05/06 PHP
JS模拟的QQ面板上的多级可展开的菜单
2009/10/10 Javascript
浅谈JavaScript事件的属性列表
2015/03/01 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
微信小程序 rich-text的使用方法
2017/08/04 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
2018/04/01 Javascript
简述JS控制台的使用
2018/07/15 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
Vue项目路由刷新的实现代码
2019/04/17 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
jquery实现弹窗(系统提示框)效果
2019/12/10 jQuery
vue使用echarts实现水平柱形图实例
2020/09/09 Javascript
JS中队列和双端队列实现及应用详解
2020/09/29 Javascript
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
浅谈python数据类型及类型转换
2017/12/18 Python
python中退出多层循环的方法
2018/11/27 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
2020/07/13 Python
谈谈python垃圾回收机制
2020/09/27 Python
如何利用Python写个坦克大战
2020/11/18 Python
毕业自我鉴定总结
2014/03/24 职场文书
求职信名称怎么写
2014/05/26 职场文书
大学毕业生自我评价
2015/03/02 职场文书
感恩老师主题班会
2015/08/12 职场文书
详解Html5项目适配系统深色模式方案总结
2021/04/14 HTML / CSS
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android
golang内置函数len的小技巧
2021/07/25 Golang
如何解决goland,idea全局搜索快捷键失效问题
2022/04/03 Golang