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 相关文章推荐
关于Appserv无法打开localhost问题的解决方法
Oct 16 PHP
PHP spl_autoload_register实现自动加载研究
Dec 06 PHP
PHP分多步骤填写发布信息的简单方法实例代码
Sep 23 PHP
用php制作简单分页(从数据库读取记录)的方法详解
May 04 PHP
解析php file_exists无效的解决办法
Jun 26 PHP
解析PHP的session过期设置
Jun 29 PHP
php管理nginx虚拟主机shell脚本实例
Nov 19 PHP
ThinkPHP中RBAC类的四种用法分析
Nov 24 PHP
支持png透明图片的php生成缩略图类分享
Feb 08 PHP
php实现httpRequest的方法
Mar 13 PHP
Smarty模板简单配置与使用方法示例
May 23 PHP
浅析Laravel5中队列的配置及使用
Aug 04 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数组 为文章加关键字连接 文章内容自动加链接
2011/12/29 PHP
PHP使用header()输出图片缓存实例
2014/12/09 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
2016/10/10 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
2020/09/11 Javascript
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
Python获取电脑硬件信息及状态的实现方法
2014/08/29 Python
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
Python3实现的字典遍历操作详解
2018/04/18 Python
python email smtplib模块发送邮件代码实例
2018/04/26 Python
Django restframework 源码分析之认证详解
2019/02/22 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
Python实现查找数据库最接近的数据
2020/06/08 Python
Python通过getattr函数获取对象的属性值
2020/10/16 Python
Python模拟登录requests.Session应用详解
2020/11/17 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
浅谈CSS3动画的回调处理
2016/07/21 HTML / CSS
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
物流管理专业毕业生求职信
2014/03/23 职场文书
外语专业毕业生自荐信
2014/04/14 职场文书
机关保密承诺书
2014/06/03 职场文书
接待员岗位职责
2015/02/13 职场文书
2015年“公民道德宣传日”活动方案
2015/05/06 职场文书
参观监狱警示教育心得体会
2016/01/15 职场文书
护士心得体会范文
2016/01/25 职场文书
导游词之峨眉山
2019/12/16 职场文书