php中存储用户ID和密码到mysql数据库的方法

2015-01-24信息快讯网

对用户身份验证,最常用的方法就是将用户id与密码保存进数据库中了,然后再写一些登录检测代码,就可以使用了

创建用户信息表:

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 number_format() 函数通过千位分组来格式化数字的实现代码
php实现统计邮件大小的方法
php addslashes 利用递归实现使用反斜线引用字符串
如何使用PHP批量去除文件UTF8 BOM信息
深入解析PHP中逗号与点号的区别
浅析Mysql 数据回滚错误的解决方法
解析php mysql 事务处理回滚操作(附实例)
如何利用PHP执行.SQL文件
php中如何同时使用session和cookie来保存用户登录信息
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
php调用MySQL存储过程的方法集合(推荐)
使用PHP会话(Session)实现用户登陆功能
关于查看MSSQL 数据库 用户每个表 占用的空间大小
PHP操作MongoDB GridFS 存储文件的详解
在yii中新增一个用户验证的方法详解
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
$_GET['goods_id']+0 的使用详解
php 生成唯一id的几种解决方法
php截取字符串并保留完整xml标签的函数代码
php中使用__autoload()自动加载未定义类的实现代码
php中使用preg_match_all匹配文章中的图片
php中使用addslashes函数报错问题的解决方法
php中设置index.php文件为只读的方法
php中选择什么接口(mysql、mysqli)访问mysql
php连接mssql的一些相关经验及注意事项
mysqli_set_charset和SET NAMES使用抉择及优劣分析
整理的一些实用WordPress后台MySQL操作命令
PDO版本问题 Invalid parameter number: no parameters were bound
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
php获取用户IPv4或IPv6地址的代码
PHP C EasyUI DataGrid 资料存的方式介绍
PHP C EasyUI DataGrid 资料取的方式介绍
php生成局部唯一识别码LUID的代码
PHP中使用crypt()实现用户身份验证的代码
PHP获取用户的浏览器与操作系统信息的代码
UCenter 批量添加用户的php代码
注册页面之前先验证用户名是否存在的php代码
PHP通过session id 实现session共享和登录验证的代码
©2014-2024 dbsqp.com