Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Langkah pembelajaran PHP: Cara menggunakan sistem pengurusan kawalan kebenaran

Langkah pembelajaran PHP: Cara menggunakan sistem pengurusan kawalan kebenaran

WBOY
WBOYasal
2023-08-26 18:30:11966semak imbas

Langkah pembelajaran PHP: Cara menggunakan sistem pengurusan kawalan kebenaran

Langkah pembelajaran PHP: Cara menggunakan sistem pengurusan kawalan kebenaran

Pengenalan:
Dalam pembangunan perisian moden, kawalan kebenaran adalah bahagian yang sangat penting. Sama ada sistem pengurusan laman web atau sistem pengurusan bahagian belakang, kawalan kebenaran adalah fungsi penting. Artikel ini akan memperkenalkan cara menggunakan bahasa pengaturcaraan PHP untuk melaksanakan sistem pengurusan kawalan kebenaran asas.

Langkah 1: Buat jadual pangkalan data
Pertama, kita perlu mencipta pangkalan data untuk menyimpan maklumat pengguna dan kebenaran. Kita boleh menggunakan MySQL atau pangkalan data hubungan lain untuk mencipta jadual.

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
);

CREATE TABLE `permissions` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `permission` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE
);

Jadual di atas akan digunakan untuk menyimpan maklumat pengguna dan maklumat kebenaran. Jadual 'pengguna' digunakan untuk menyimpan nama pengguna dan kata laluan, dan jadual 'kebenaran' digunakan untuk menyimpan surat-menyurat antara pengguna dan kebenaran, di mana 'user_id' ialah kunci asing bagi jadual 'pengguna'.

Langkah 2: Cipta kod PHP
Kami akan menggunakan PHP untuk menulis kod untuk melaksanakan sistem pengurusan kawalan kebenaran. Pertama, kita perlu menyambung ke pangkalan data.

<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
  die("连接失败: " . $conn->connect_error);
}

// 程序继续执行...
?>

Dalam kod di atas, anda perlu menggantikan 'nama_pengguna_anda' dan 'kata laluan_anda' dengan nama pengguna dan kata laluan pangkalan data anda sendiri. 'your_database' perlu diganti dengan nama pangkalan data anda sendiri.

Langkah 3: Log masuk dan pengesahan pengguna
Seterusnya, kita perlu melaksanakan fungsi log masuk dan pengesahan pengguna. Pertama, buat borang log masuk.

<form action="login.php" method="POST">
  <input type="text" name="username" placeholder="用户名">
  <input type="password" name="password" placeholder="密码">
  <input type="submit" value="登录">
</form>

Kemudian, cipta fail baharu yang dipanggil 'login.php' untuk mengendalikan penghantaran borang.

<?php
session_start();

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $username = $_POST["username"];
  $password = $_POST["password"];

  $sql = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
  $result = $conn->query($sql);

  if ($result->num_rows > 0) {
    $row = $result->fetch_assoc();
    $_SESSION["user_id"] = $row["id"];
    header("Location: dashboard.php");
  } else {
    echo "用户名或密码错误";
  }
}

$conn->close();
?>

Dalam kod di atas, kami menggunakan pembolehubah $_SESSION untuk menyimpan id pengguna untuk pengesahan kebenaran di halaman lain. Jika log masuk berjaya, kami akan mengubah hala pengguna ke halaman baharu yang dipanggil 'dashboard.php'. $_SESSION变量来存储用户的id,以便在其他页面中进行权限验证。如果登录成功,我们会将用户重定向到一个名为'dashboard.php'的新页面。

步骤四:权限验证
在每个需要进行权限控制的页面,我们需要先验证用户是否具有相应的权限。以下是一个示例页面的代码:

<?php
session_start();

if(!isset($_SESSION["user_id"])){
  header("Location: login.php");
  exit;
}

$user_id = $_SESSION["user_id"];

$sql = "SELECT * FROM permissions WHERE user_id = $user_id AND permission = 'admin'";
$result = $conn->query($sql);

if ($result->num_rows == 0) {
  echo "权限不足";
  exit;
}

// 程序继续执行...
?>

在以上的代码中,我们首先验证$_SESSION["user_id"]

Langkah 4: Pengesahan Kebenaran

Pada setiap halaman yang memerlukan kawalan kebenaran, kami perlu terlebih dahulu mengesahkan sama ada pengguna mempunyai kebenaran yang sepadan. Berikut ialah kod halaman contoh:
rrreee

Dalam kod di atas, kami mula-mula mengesahkan sama ada $_SESSION["user_id"] wujud, dan jika ia tidak wujud, ubah hala pengguna ke halaman log masuk. Kami kemudiannya menanyakan pangkalan data berdasarkan id pengguna dan menyemak sama ada pengguna mempunyai kebenaran bernama 'admin'. Jika tiada kebenaran, program akan mengeluarkan "Kebenaran tidak mencukupi" dan menghentikan pelaksanaan.

Kesimpulan:

Melalui langkah di atas, kami berjaya melaksanakan sistem pengurusan kawalan kebenaran asas. Anda boleh terus memanjangkan sistem ini dan menambah lebih banyak kebenaran dan fungsi.

🎜Sudah tentu, ini hanyalah contoh peringkat permulaan. Dalam projek sebenar, anda mungkin memerlukan lebih banyak fungsi dan logik kawalan kebenaran yang lebih kompleks. Berdasarkan kajian mendalam tentang PHP dan pangkalan data, anda boleh meningkatkan lagi keupayaan kawalan kebenaran anda. 🎜🎜Saya harap artikel ini akan membantu anda dalam mempelajari PHP dan melaksanakan sistem pengurusan kawalan kebenaran! 🎜

Atas ialah kandungan terperinci Langkah pembelajaran PHP: Cara menggunakan sistem pengurusan kawalan kebenaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn