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

 更新时间:2013年02月06日 17:31:47   作者:  
对用户身份验证,最常用的方法就是将用户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');
?>

相关文章

  • Codeigniter实现多文件上传并创建多个缩略图

    Codeigniter实现多文件上传并创建多个缩略图

    这篇文章主要介绍了Codeigniter实现多文件上传并创建多个缩略图,需要的朋友可以参考下
    2014-06-06
  • Thinkphp模板中使用自定义函数的方法

    Thinkphp模板中使用自定义函数的方法

    内置模板引擎支持对模板变量使用函数,并支持多个函数同时使用
    2012-09-09
  • php实现格式化多行文本为Js可用格式

    php实现格式化多行文本为Js可用格式

    本文给大家分享的是使用php实现格式化多行文本为Js可用格式,思路非常简单,这里推荐给大家,有需要的小伙伴参考下。
    2015-04-04
  • PHP未登录自动跳转到登录页面

    PHP未登录自动跳转到登录页面

    为了满足用户体验度,需要用户登录才能跳转到页面,这篇文章给大家分享PHP未登录自动跳转到登录页面的实例代码,需要的朋友参考下
    2016-12-12
  • Drupal简体中文语言包安装教程

    Drupal简体中文语言包安装教程

    这篇文章主要介绍了Drupal简体中文语言包安装教程,本文讲解了Drupal中文语言包的安装步骤,需要的朋友可以参考下
    2014-09-09
  • Thinkphp5 自定义上传文件名的实现方法

    Thinkphp5 自定义上传文件名的实现方法

    这篇文章主要介绍了Thinkphp5 自定义上传文件名的实现方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • laravel使用redis队列实例讲解

    laravel使用redis队列实例讲解

    这篇文章主要介绍了laravel使用redis队列实例讲解,使用laravel框架之后配置redis还是很简单的,有感兴趣的同学可以学习下
    2021-03-03
  • php操作xml

    php操作xml

    分步学习php操作xml:XML概念、DOMDocument对象、加载xml、读取/遍历节点与属性、修改属性/节点、添加元素/属性、删除属性/节点,学会上面这些就可以顺利操作XML了。
    2013-10-10
  • ThinkPHP实现支付宝接口功能实例

    ThinkPHP实现支付宝接口功能实例

    这篇文章主要介绍了ThinkPHP实现支付宝接口功能的方法,实例讲述了支付宝接口的下载及二次开发方法,以及对应的ThinkPHP开发技巧,需要的朋友可以参考下
    2014-12-12
  • php连接mssql数据库的几种方法

    php连接mssql数据库的几种方法

    数据库查询不外乎4个步骤,1、建立连接。2、输入查询代码。3、建立查询并取出数据。4、关闭连接。 php连接mssql数据库有几个注意事项,尤其mssql的多个版本、32位、64位都有区别。
    2013-02-02

最新评论