Maison  >  Article  >  développement back-end  >  PHP implémente la fonction du système de points utilisateur dans le site Web de questions et réponses de connaissances.

PHP implémente la fonction du système de points utilisateur dans le site Web de questions et réponses de connaissances.

WBOY
WBOYoriginal
2023-07-02 12:24:101420parcourir

PHP implémente la fonction du système de points utilisateur dans le site Web de questions et réponses de connaissances

Avec la popularité du site Web de questions et réponses de connaissances, nous pouvons souvent voir des utilisateurs participer activement à répondre aux questions et à partager activement leurs connaissances. Afin de stimuler la participation et la contribution des utilisateurs, de nombreux sites Web de questions et réponses sur les connaissances introduiront des systèmes de points utilisateur. Cet article explique comment utiliser PHP pour implémenter une fonction simple de système de points utilisateur.

Tout d’abord, nous avons besoin d’une base de données pour stocker les informations sur les points de l’utilisateur. Supposons que nous ayons deux tables : utilisateur et score. La table utilisateur stocke des informations relatives à l'utilisateur et la table de scores stocke des informations sur les points utilisateur. Créez la base de données qa et créez une table : 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'; ?>

Ensuite, nous créons un fichier PHP nommé index.php pour implémenter la fonction du système de points utilisateur.

Tout d’abord, nous devons nous connecter à la base de données. Créez un fichier db.php et ajoutez le code suivant :

rrreee

Ensuite, importez le fichier db.php dans index.php : 🎜 rrreee🎜Ensuite, nous devons implémenter la fonction d'enregistrement des utilisateurs. Créez un fichier register.php et ajoutez le code suivant : 🎜rrreee🎜Ajoutez le formulaire HTML d'inscription de l'utilisateur dans index.php avec le code comme suit : 🎜rrreee🎜User After inscription réussie, nous devons ajouter des points à l'utilisateur. Ajoutez le code suivant dans le fichier register.php : 🎜rrreee🎜Ensuite, nous devons implémenter la fonction de connexion utilisateur. Créez un fichier login.php et ajoutez le code suivant : 🎜rrreee🎜Ajoutez le formulaire HTML de connexion utilisateur dans index.php, le code est le suivant : 🎜rrreee🎜Enfin , nous devons implémenter la page de profil de l'utilisateur, qui est le fichier profile.php. Ajoutez le code suivant : 🎜rrreee🎜Ajoutez le code suivant dans le fichier profile.php pour afficher le profil de l'utilisateur et les informations sur les points : 🎜rrreee🎜À ce stade, nous avons implémenté avec succès la fonction du système de points utilisateur . Les utilisateurs peuvent s'inscrire, se connecter et consulter les informations sur leurs points sur la page de profil. 🎜🎜Résumé : Cet article utilise PHP pour implémenter la fonction du système de points utilisateur dans un site Web de questions et réponses de connaissances. En vous connectant à la base de données, en enregistrant les utilisateurs, en ajoutant des points aux utilisateurs et en réalisant les fonctions de connexion des utilisateurs et de page de profil. J'espère que cet article sera utile à tout le monde pour apprendre la programmation PHP et le développement de sites Web. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn