>  기사  >  백엔드 개발  >  mysql 데이터베이스에 사용자 ID와 비밀번호를 저장하는 방법

mysql 데이터베이스에 사용자 ID와 비밀번호를 저장하는 방법

WBOY
WBOY원래의
2016-07-25 09:05:431181검색
  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. ?>

复制代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.