欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-10 10:51:29
...
  1. CREATE TABLE tbl_auth_user (

  2. user_id VARCHAR(10) NOT NULL,
  3. user_password CHAR(32) NOT NULL,
  4. PRIMARY KEY (user_id)

  5. );
  6. INSERT INTO tbl_auth_user (user_id, user_password) VALUES ('theadmin', PASSWORD('chumbawamba'));

  7. INSERT INTO tbl_auth_user (user_id, user_password) VALUES ('webmaster', PASSWORD('webmistress'));
复制代码

我们将使用相同的html代码来创建登录表单在上述示例中创建的。我们只需要修改登录过程有点。 登录脚本:

  1. // 我们必须永远不会忘记启动会话

  2. session_start();
  3. $errorMessage = '';

  4. if (isset($_POST['txtUserId']) && isset($_POST['txtPassword'])) {
  5. include 'library/config.php';
  6. include 'library/opendb.php';
  7. $userId = $_POST['txtUserId'];

  8. $password = $_POST['txtPassword'];
  9. // 检查用户id和密码组合存在于数据库

  10. $sql = "SELECT user_id
  11. FROM tbl_auth_user
  12. WHERE user_id = '$userId'
  13. AND user_password = PASSWORD('$password')";
  14. $result = mysql_query($sql)

  15. or die('Query failed. ' . mysql_error());
  16. if (mysql_num_rows($result) == 1) {

  17. // sessionthe设置用户id和密码匹配,
  18. // 设置会话
  19. $_SESSION['db_is_logged_in'] = true;
  20. // 在登录后我们转到主页

  21. header('Location: main.php');
  22. exit;
  23. } else {
  24. $errorMessage = 'Sorry, wrong user id / password';
  25. }
  26. include 'library/closedb.php';

  27. }
  28. ?>
复制代码

/ /…相同的html登录表单前一个示例一样

而不是检查用户id和密码对硬编码的信息我们查询数据库,如果这两个存在于数据库使用SELECT查询。如果我们发现一个匹配我们设置会话变量和移动到主页。注意,会话的名字是前缀 “db”使它不同于先前的示例。

在接下来的两个脚本(主要。php和注销。php)代码类似于前一个。唯一的区别是会话名称。这是为这两个的代码

  1. session_start();

  2. //是一个访问这个页面登录呢?

  3. if (!isset($_SESSION['db_is_logged_in'])
  4. || $_SESSION['db_is_logged_in'] !== true) {
  5. // 没有登录,返回到登录页面

  6. header('Location: login.php');
  7. exit;
  8. }
  9. ?>

复制代码

/ /…这里的一些html代码

  1. session_start();

  2. // 如果用户已登录,设置会话

  3. if (isset($_SESSION['db_is_logged_in'])) {
  4. unset($_SESSION['db_is_logged_in']);
  5. }
  6. // 现在,用户登录,

  7. // 去登录页面
  8. header('Location: login.php');
  9. ?>
复制代码