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
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 fichierdb.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!