Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP melaksanakan fungsi sistem mata pengguna dalam laman web soal jawab pengetahuan.

PHP melaksanakan fungsi sistem mata pengguna dalam laman web soal jawab pengetahuan.

WBOY
WBOYasal
2023-07-02 12:24:101393semak imbas

PHP melaksanakan fungsi sistem mata pengguna dalam laman web soal jawab ilmu

Dengan populariti laman web soal jawab ilmu, kita sering dapat melihat pengguna mengambil bahagian secara aktif dalam menjawab soalan dan berkongsi pengetahuan mereka secara aktif. Untuk merangsang penyertaan dan sumbangan pengguna, banyak laman web soal jawab pengetahuan akan memperkenalkan sistem mata pengguna. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi sistem mata pengguna yang mudah.

Pertama, kami memerlukan pangkalan data untuk menyimpan maklumat mata pengguna. Katakan kita mempunyai dua jadual: pengguna dan skor. Jadual pengguna menyimpan maklumat berkaitan pengguna, dan jadual skor menyimpan maklumat mata pengguna. Cipta pangkalan data qa dan buat jadual: 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'; ?>

Seterusnya, kami mencipta fail PHP bernama index.php untuk melaksanakan fungsi sistem mata pengguna.

Pertama, kita perlu menyambung ke pangkalan data. Cipta fail db.php dan tambahkan kod berikut:

rrreee

Kemudian, import fail db.php dalam index.php: 🎜 rrreee🎜Seterusnya, kita perlu melaksanakan fungsi pendaftaran pengguna. Buat fail register.php dan tambah kod berikut: 🎜rrreee🎜Tambah borang HTML pendaftaran pengguna dalam index.php dengan kod seperti berikut: 🎜rrreee🎜User After pendaftaran berjaya, kita perlu menambah mata kepada pengguna. Tambahkan kod berikut dalam fail register.php: 🎜rrreee🎜Seterusnya, kita perlu melaksanakan fungsi log masuk pengguna. Cipta fail login.php dan tambah kod berikut: 🎜rrreee🎜Tambah borang HTML log masuk pengguna dalam index.php, kodnya adalah seperti berikut: 🎜rrreee🎜Akhir sekali , kita perlu melaksanakan halaman profil pengguna, iaitu fail profile.php. Tambahkan kod berikut: 🎜rrreee🎜Tambah kod berikut dalam fail profile.php untuk memaparkan profil dan maklumat mata pengguna: 🎜rrreee🎜Pada ketika ini, kami telah berjaya melaksanakan fungsi sistem mata pengguna . Pengguna boleh mendaftar, log masuk dan melihat maklumat mata mereka pada halaman profil. 🎜🎜Ringkasan: Artikel ini menggunakan PHP untuk melaksanakan fungsi sistem mata pengguna dalam tapak web soal jawab pengetahuan. Dengan menyambung ke pangkalan data, mendaftarkan pengguna, menambah mata kepada pengguna, dan merealisasikan log masuk pengguna dan fungsi halaman profil. Saya harap artikel ini akan membantu semua orang dalam mempelajari pengaturcaraan PHP dan pembangunan laman web. 🎜

Atas ialah kandungan terperinci PHP melaksanakan fungsi sistem mata pengguna dalam laman web soal jawab pengetahuan.. 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