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 15 PHP
在PHP中操作Excel实例代码
Apr 29 PHP
php header Content-Type类型小结
Jul 03 PHP
php中判断数组是一维,二维,还是多维的解决方法
May 04 PHP
关于php内存不够用的快速解决方法
Oct 26 PHP
ThinkPHP之A方法实例讲解
Jun 20 PHP
屏蔽PHP默认设置中的Notice警告的方法
May 20 PHP
浅析php如何实现App常用的秒发功能
Aug 03 PHP
php 数组元素快速去重
May 05 PHP
php简单中奖算法(实例)
Aug 15 PHP
PHP PDOStatement::nextRowset讲解
Feb 01 PHP
laravel邮件发送的实现代码示例
Jan 31 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
一个用mysql_odbc和php写的serach数据库程序
2006/10/09 PHP
php mysql数据库操作分页类
2008/06/04 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
CSS+Jquery实现页面圆角框方法大全
2009/12/24 Javascript
JavaScript 学习笔记(六)
2009/12/31 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
js 获取(接收)地址栏参数值的方法
2013/04/01 Javascript
JS 有趣的eval优化输入验证实例代码
2013/09/22 Javascript
浅谈JS日期(Date)处理函数
2014/12/07 Javascript
快速掌握Node.js事件驱动模型
2016/03/21 Javascript
实现JavaScript的组成----BOM和DOM详解
2016/05/18 Javascript
nodejs连接mongodb数据库实现增删改查
2016/12/01 NodeJs
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
Python自定义函数的创建、调用和函数的参数详解
2014/03/11 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
Python实现提取XML内容并保存到Excel中的方法
2018/09/01 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
python 实现让字典的value 成为列表
2019/12/16 Python
在pycharm中创建django项目的示例代码
2020/05/28 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
北欧最好的童装网上商店:Babyshop
2019/09/15 全球购物
作弊检讨书
2015/01/27 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书
女方家长婚礼答谢词
2015/09/29 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python
Python基于Opencv识别两张相似图片
2021/04/25 Python
CSS3新特性详解(五):多列columns column-count和flex布局
2021/04/30 HTML / CSS
浅析JavaScript中的变量提升
2022/06/01 Javascript