⊗ppPmAuRgtD 434 of 447 menu

Chuẩn hóa cơ sở dữ liệu

Hiện tại chúng ta đang lưu trữ trạng thái của người dùng trong cùng một bảng với thông tin người dùng. Tuy nhiên, điều này không đúng - chúng ta có được một bảng không được chuẩn hóa, vì các từ 'user''admin' lặp lại nhiều lần.

Cần thực hiện chuẩn hóa - chúng ta sẽ tách các trạng thái của mình ra một bảng riêng statuses:

id name
1 user
2 admin

Và trong bảng users, chúng ta tạo cột status_id. Bây giờ khi đăng ký chúng ta sẽ ghi vào cột status_id id của trạng thái từ bảng statuses:

<?php $query = "INSERT INTO users SET login='$login', password='$password', status_id='1'"; ?>

Những thay đổi phức tạp nhất sẽ xảy ra khi xác thực: để lấy trạng thái của người dùng, cần thực hiện LEFT JOIN:

<?php $login = $_POST['login']; // Lấy người dùng theo login và join với trạng thái: $query = "SELECT users.*, statuses.name as status FROM users LEFT JOIN statuses ON users.status_id=statuses.id WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { $hash = $user['password']; if (password_verify($_POST['password'], $hash)) { $_SESSION['auth'] = true; $_SESSION['status'] = $user['status']; // trạng thái } else { } } else { } ?>

Hãy chuyển đổi phần xác thực và đăng ký của bạn theo như đã mô tả trong lý thuyết.

Hãy thực hiện các thay đổi trong hoạt động của trang quản trị (hiển thị trạng thái người dùng, thay đổi trạng thái và vân vân).

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối