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 随机记录mysql rand()造成CPU 100%的解决办法
May 18 PHP
php中session_unset与session_destroy的区别分析
Jun 16 PHP
php 判断字符串中是否包含html标签
Feb 17 PHP
php正则匹配html中带class的div并选取其中内容的方法
Jan 13 PHP
php实现改变图片直接打开为下载的方法
Apr 14 PHP
wordpress安装过程中遇到中文乱码的处理方法
Apr 21 PHP
PHP图片添加水印功能示例小结
Oct 03 PHP
如何修改yii2.0自带的user表为其它的表
Aug 01 PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 PHP
php pdo连接数据库操作示例
Nov 18 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
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
东方红 - 来复式再生机的修复
2021/03/02 无线电
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
PHP中使用smarty生成静态文件的例子
2014/04/24 PHP
php实现简单文件下载的方法
2015/01/30 PHP
php支持断点续传、分块下载的类
2016/05/02 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
javascript document.referrer 用法
2009/04/30 Javascript
Jquery图片滚动与幻灯片的实例代码
2013/04/08 Javascript
浅析BootStrap栅格系统
2016/06/07 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
React-router4路由监听的实现
2018/08/07 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
JavaScript 截取字符串代码实例
2019/09/05 Javascript
JSONObject与JSONArray使用方法解析
2020/09/28 Javascript
python学生信息管理系统
2018/03/13 Python
Flask框架信号用法实例分析
2018/07/24 Python
python获取array中指定元素的示例
2019/11/26 Python
python实现简单俄罗斯方块
2020/03/13 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
python如何从键盘获取输入实例
2020/06/18 Python
Parts Express:音频、视频和扬声器的第一来源
2017/04/25 全球购物
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
ECCO爱步官方旗舰店:丹麦鞋履品牌
2018/01/02 全球购物
介绍一下write命令
2014/08/10 面试题
药品促销活动方案
2014/02/14 职场文书
2014年计生标语
2014/06/23 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书
解除租赁合同协议书
2016/03/21 职场文书
Python基础知识学习之类的继承
2021/05/31 Python
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL