php中存储用户ID和密码到mysql数据库的方法_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1887 | 回复: 0   主题: php中存储用户ID和密码到mysql数据库的方法        下一篇 
jun.zhang
注册用户
等级:上士
经验:278
发帖:76
精华:0
注册:2011-12-27
状态:离线
发送短消息息给jun.zhang 加好友    发送短消息息给jun.zhang 发消息
发表于: IP:您无权察看 2014-12-25 9:45:53 | [全部帖] [楼主帖] 楼主

对用户身份验证,最常用的方法就是将用户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';
}
?></pre>
//…相同的html登录表单前一个示例一样<span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">


而不是检查用户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;
}
?></pre>
//…这里的一些html代码
<pre><?php
session_start();
// 如果用户已登录,设置会话
if (isset($_SESSION['db_is_logged_in'])) {
      unset($_SESSION['db_is_logged_in']);
}
// 现在,用户登录,
// 去登录页面
header('Location: login.php');
?>


--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论