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水印技术
Feb 14 PHP
php checkdate、getdate等日期时间函数操作详解
Mar 11 PHP
php采用curl模仿登录人人网发布动态的方法
Nov 07 PHP
Zend Guard使用指南及问题处理
Jan 07 PHP
Laravel 5框架学习之Eloquent 关系
Apr 09 PHP
Joomla简单判断用户是否登录的方法
May 04 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
Jul 23 PHP
PHP对象相关知识总结
Apr 09 PHP
laravel migrate初学常见错误的解决方法
Oct 11 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
Sep 29 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
Feb 22 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
杏林同学录(一)
2006/10/09 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
js动态生成form 并用ajax方式提交的实现方法
2016/09/09 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
laydate如何根据开始时间或者结束时间限制范围
2018/11/15 Javascript
详解vue-element Tree树形控件填坑路
2019/03/26 Javascript
Electron 调用命令行(cmd)
2019/09/23 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
2019/12/02 Javascript
vue-cli设置publicPath小记
2020/04/14 Javascript
EXTJS7实现点击拖拉选择文本
2020/12/17 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
使用Python中的cookielib模拟登录网站
2015/04/09 Python
python 迭代器和iter()函数详解及实例
2017/03/21 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
python动态视频下载器的实现方法
2019/09/16 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
Django权限设置及验证方式
2020/05/13 Python
Django数据库迁移常见使用方法
2020/11/12 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
HTML5实现文件断点续传的方法
2017/01/04 HTML / CSS
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
一份全面的PHP面试问题考卷
2012/07/15 面试题
初中生评语大全
2014/04/24 职场文书
2014年乡镇卫生院工作总结
2014/11/24 职场文书