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'; ?>
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 faildb.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!