Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Lernschritte: Verwendung des Berechtigungskontrollverwaltungssystems

PHP-Lernschritte: Verwendung des Berechtigungskontrollverwaltungssystems

WBOY
Freigeben: 2023-08-26 18:32:01
Original
1039 Leute haben es durchsucht

PHP-Lernschritte: Verwendung des Berechtigungskontrollverwaltungssystems

PHP-Lernschritte: Verwendung des Berechtigungskontrollverwaltungssystems

Einführung:
In der modernen Softwareentwicklung ist die Berechtigungskontrolle ein sehr wichtiger Bestandteil. Unabhängig davon, ob es sich um ein Website-Verwaltungssystem oder ein Backend-Verwaltungssystem handelt, ist die Berechtigungskontrolle eine wesentliche Funktion. In diesem Artikel wird erläutert, wie Sie mit der Programmiersprache PHP ein grundlegendes Berechtigungskontrollverwaltungssystem implementieren.

Schritt 1: Datenbanktabelle erstellen
Zuerst müssen wir eine Datenbank erstellen, um Benutzer- und Berechtigungsinformationen zu speichern. Wir können MySQL oder andere relationale Datenbanken verwenden, um Tabellen zu erstellen.

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
);
Nach dem Login kopieren

Die obige Tabelle wird zum Speichern von Benutzerinformationen und Berechtigungsinformationen verwendet. Die Tabelle „users“ wird zum Speichern von Benutzernamen und Passwörtern verwendet, und die Tabelle „permissions“ dient zum Speichern der Korrespondenz zwischen Benutzern und Berechtigungen, wobei „user_id“ der Fremdschlüssel der Tabelle „user“ ist.

Schritt 2: PHP-Code erstellen
Wir werden PHP verwenden, um Code zu schreiben, um das Berechtigungskontrollverwaltungssystem zu implementieren. Zuerst müssen wir eine Verbindung zur Datenbank herstellen.

<?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);
}

// 程序继续执行...
?>
Nach dem Login kopieren

Im obigen Code müssen Sie „Ihr_Benutzername“ und „Ihr_Passwort“ durch Ihren eigenen Datenbank-Benutzernamen und Ihr eigenes Passwort ersetzen. „your_database“ muss durch Ihren eigenen Datenbanknamen ersetzt werden.

Schritt 3: Benutzeranmeldung und -verifizierung
Als nächstes müssen wir die Funktionen zur Benutzeranmeldung und -verifizierung implementieren. Erstellen Sie zunächst ein Anmeldeformular.

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

Dann erstellen Sie eine neue Datei mit dem Namen „login.php“, um die Formularübermittlung zu verarbeiten.

<?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();
?>
Nach dem Login kopieren

Im obigen Code verwenden wir die Variable $_SESSION, um die Benutzer-ID für die Berechtigungsüberprüfung auf anderen Seiten zu speichern. Wenn die Anmeldung erfolgreich ist, leiten wir den Benutzer auf eine neue Seite namens „dashboard.php“ weiter. $_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;
}

// 程序继续执行...
?>
Nach dem Login kopieren

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

Schritt 4: Berechtigungsüberprüfung

Auf jeder Seite, die eine Berechtigungskontrolle erfordert, müssen wir zunächst überprüfen, ob der Benutzer über die entsprechenden Berechtigungen verfügt. Das Folgende ist der Code einer Beispielseite:
rrreee

Im obigen Code überprüfen wir zunächst, ob $_SESSION["user_id"] vorhanden ist, und leiten den Benutzer, falls nicht, um Anmeldeseite. Anschließend fragen wir die Datenbank anhand der Benutzer-ID ab und prüfen, ob der Benutzer über Berechtigungen mit dem Namen „admin“ verfügt. Wenn keine Berechtigung vorhanden ist, gibt das Programm „Unzureichende Berechtigungen“ aus und stoppt die Ausführung.

Fazit:

Durch die oben genannten Schritte haben wir erfolgreich ein grundlegendes Berechtigungskontrollverwaltungssystem implementiert. Sie können dieses System immer weiter ausbauen und weitere Berechtigungen und Funktionen hinzufügen.

🎜Natürlich ist dies nur ein Einsteigerbeispiel. In tatsächlichen Projekten benötigen Sie möglicherweise mehr Funktionen und eine komplexere Berechtigungssteuerungslogik. Basierend auf einer eingehenden Untersuchung von PHP und Datenbanken können Sie Ihre Berechtigungskontrollfunktionen weiter verbessern. 🎜🎜Ich hoffe, dieser Artikel wird Ihnen beim Erlernen von PHP und der Implementierung eines Berechtigungskontrollverwaltungssystems hilfreich sein! 🎜

Das obige ist der detaillierte Inhalt vonPHP-Lernschritte: Verwendung des Berechtigungskontrollverwaltungssystems. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage