儲存使用者ID和密碼到mysql資料庫的方法

來源:互聯網
上載者:User
  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. ?>

複製代碼
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.