Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert die Benutzerpunktesystemfunktion in der Wissensfrage- und -antwort-Website.

PHP implementiert die Benutzerpunktesystemfunktion in der Wissensfrage- und -antwort-Website.

WBOY
WBOYOriginal
2023-07-02 12:24:101419Durchsuche

PHP implementiert die Benutzerpunktesystemfunktion in der Wissens-Frage-und-Antwort-Website.

Angesichts der Beliebtheit der Wissens-Frage-und-Antwort-Website können wir oft sehen, dass Benutzer aktiv an der Beantwortung von Fragen teilnehmen und ihr Wissen aktiv teilen. Um die Beteiligung und den Beitrag der Benutzer zu fördern, führen viele Wissensfrage- und -antwort-Websites Benutzerpunktesysteme ein. In diesem Artikel wird erläutert, wie Sie mit PHP eine einfache Benutzerpunktesystemfunktion implementieren.

Zuerst benötigen wir eine Datenbank, um die Punkteinformationen des Benutzers zu speichern. Angenommen, wir haben zwei Tabellen: Benutzer und Punktzahl. Die Benutzertabelle speichert benutzerbezogene Informationen und die Punktetabelle speichert Benutzerpunktinformationen. Erstellen Sie die Datenbank qa und erstellen Sie eine Tabelle: qa,并创建表格:

CREATE TABLE `user` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `username` VARCHAR(50) NOT NULL,
  `email` VARCHAR(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `score` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `user_id` INT(11) NOT NULL,
  `score` INT(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

接下来,我们创建一个 PHP 文件,命名为 index.php,用于实现用户积分系统的功能。

首先,我们需要连接数据库。创建一个 db.php 文件,并添加以下代码:

<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "qa";

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

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
?>

然后,在 index.php 中引入 db.php 文件:

<?php
require_once 'db.php';
?>

接着,我们需要实现用户的注册功能。创建一个 register.php 文件,并添加以下代码:

<?php
require_once 'db.php';

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

    $sql = "INSERT INTO user (username, email) VALUES ('$username', '$email')";

    if ($conn->query($sql) === TRUE) {
        echo "User registration successful!";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
}

$conn->close();
?>

index.php 中添加用户注册的 HTML 表单,代码如下所示:

<form action="register.php" method="POST">
    <input type="text" name="username" placeholder="Username" required />
    <input type="email" name="email" placeholder="Email" required />
    <button type="submit">Register</button>
</form>

用户注册成功后,我们需要为用户添加积分。在 register.php 文件中添加以下代码:

$score = 100;

$sql = "INSERT INTO score (user_id, score) VALUES (LAST_INSERT_ID(), '$score')";

if ($conn->query($sql) === TRUE) {
    echo "Score added successfully!";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

接下来,我们需要实现用户登录功能。创建一个 login.php 文件,并添加以下代码:

<?php
require_once 'db.php';

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

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

    if ($result->num_rows > 0) {
        $user = $result->fetch_assoc();
        session_start();
        $_SESSION["user_id"] = $user["user_id"];
        $_SESSION["username"] = $user["username"];

        header("Location: profile.php");
    } else {
        echo "User not found!";
    }
}

$conn->close();
?>

index.php 中添加用户登录的 HTML 表单,代码如下所示:

<form action="login.php" method="POST">
    <input type="text" name="username" placeholder="Username" required />
    <button type="submit">Login</button>
</form>

最后,我们需要实现用户的个人资料页面,即 profile.php 文件。添加以下代码:

<?php
require_once 'db.php';

session_start();
$user_id = $_SESSION["user_id"];

$sql = "SELECT * FROM user WHERE user_id = $user_id";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    $user = $result->fetch_assoc();

    echo "Username: " . $user["username"] . "<br>";
    echo "Email: " . $user["email"] . "<br>";

    $sql_score = "SELECT * FROM score WHERE user_id = $user_id";
    $result_score = $conn->query($sql_score);

    if ($result_score->num_rows > 0) {
        $score = $result_score->fetch_assoc();
        echo "Score: " . $score["score"] . "<br>";
    }
}

$conn->close();
?>

profile.php

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

require_once 'db.php';
?>

<h1>User Profile</h1>
<a href="logout.php">Logout</a>

<?php require_once 'profile.php'; ?>

Als nächstes erstellen wir eine PHP-Datei mit dem Namen index.php, um die Funktion des Benutzerpunktesystems zu implementieren.

Zuerst müssen wir eine Verbindung zur Datenbank herstellen. Erstellen Sie eine db.php-Datei und fügen Sie den folgenden Code hinzu:

rrreee

Dann importieren Sie die db.php-Datei in index.php: 🎜 rrreee🎜Als nächstes müssen wir die Benutzerregistrierungsfunktion implementieren. Erstellen Sie eine register.php-Datei und fügen Sie den folgenden Code hinzu: 🎜rrreee🎜Fügen Sie das Benutzerregistrierungs-HTML-Formular in index.php mit dem Code wie folgt hinzu: 🎜rrreee🎜User After Nach erfolgreicher Registrierung müssen wir dem Benutzer Punkte hinzufügen. Fügen Sie den folgenden Code in die Datei register.php ein: 🎜rrreee🎜Als nächstes müssen wir die Benutzeranmeldefunktion implementieren. Erstellen Sie eine login.php-Datei und fügen Sie den folgenden Code hinzu: 🎜rrreee🎜Fügen Sie das Benutzer-Login-HTML-Formular in index.php hinzu. Der Code lautet wie folgt: 🎜rrreee🎜Endlich müssen wir die Profilseite des Benutzers implementieren, bei der es sich um die Datei profile.php handelt. Fügen Sie den folgenden Code hinzu: 🎜rrreee🎜Fügen Sie den folgenden Code in die Datei profile.php ein, um das Profil und die Punkteinformationen des Benutzers anzuzeigen: 🎜rrreee🎜An diesem Punkt haben wir die Funktion des Benutzerpunktesystems erfolgreich implementiert . Benutzer können sich registrieren, anmelden und ihre Punkteinformationen auf der Profilseite einsehen. 🎜🎜Zusammenfassung: In diesem Artikel wird PHP verwendet, um die Benutzerpunktesystemfunktion in einer Wissensfrage- und -antwort-Website zu implementieren. Durch Herstellen einer Verbindung zur Datenbank, Registrieren von Benutzern, Hinzufügen von Punkten zu Benutzern und Realisieren von Benutzeranmeldungs- und Profilseitenfunktionen. Ich hoffe, dass dieser Artikel allen beim Erlernen der PHP-Programmierung und Website-Entwicklung hilfreich sein wird. 🎜

Das obige ist der detaillierte Inhalt vonPHP implementiert die Benutzerpunktesystemfunktion in der Wissensfrage- und -antwort-Website.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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