Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gunakan PHP untuk membangunkan fungsi kawasan pengarang dan penjawab soalan dalam laman web Soal Jawab pengetahuan.

Gunakan PHP untuk membangunkan fungsi kawasan pengarang dan penjawab soalan dalam laman web Soal Jawab pengetahuan.

PHPz
PHPzasal
2023-07-03 08:12:091256semak imbas

Gunakan PHP untuk membangunkan fungsi kawasan pengarang dan penjawab soalan dalam laman web Soal Jawab pengetahuan

Dalam era maklumat hari ini, permintaan orang ramai terhadap pengetahuan semakin meningkat dari hari ke hari. Bagi memudahkan pengguna memperoleh dan berkongsi ilmu, laman web soal jawab ilmu semakin bermunculan. Untuk memberikan pengalaman pengguna yang lebih baik, banyak tapak web soal jawab telah memperkenalkan fungsi pengarang soalan dan kawasan penjawab. Artikel ini menerangkan cara membangunkan fungsi tersebut menggunakan PHP.

Tujuan pengarang soalan dan fungsi kawasan penjawab adalah untuk membolehkan pengguna membezakan identiti mereka dalam laman web Soal Jawab. Kawasan pengarang soalan menyediakan halaman khusus untuk memaparkan maklumat tentang pengarang soalan dan soalan yang mereka bangkitkan. Kawasan responden digunakan untuk memaparkan maklumat peribadi responden dan rekod jawapan mereka.

Pertama, kita perlu mencipta pangkalan data untuk menyimpan maklumat pengguna dan rekod Soal Jawab mereka. Katakan kita mempunyai dua jadual, satu untuk menyimpan maklumat pengguna dan satu lagi untuk menyimpan rekod soalan dan jawapan. Berikut ialah pernyataan SQL untuk mencipta dua jadual ini:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(255),
    email VARCHAR(255)
);

CREATE TABLE questions (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    title VARCHAR(255),
    content TEXT,
    FOREIGN KEY (user_id) REFERENCES users(id)
);

CREATE TABLE answers (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    question_id INT,
    content TEXT,
    FOREIGN KEY (user_id) REFERENCES users(id),
    FOREIGN KEY (question_id) REFERENCES questions(id)
);

Seterusnya, kami menggunakan sambungan PHP dan MySQLi untuk menyambung ke pangkalan data untuk melaksanakan fungsi pendaftaran dan log masuk pengguna. Berikut ialah contoh kod mudah:

<?php
// 连接数据库
$db = new mysqli('localhost', 'username', 'password', 'database');

// 验证用户注册信息
if(isset($_POST['register'])) {
    $username = $_POST['username'];
    $email = $_POST['email'];
    
    // 将用户信息插入到 users 表中
    $query = "INSERT INTO users (username, email) VALUES ('$username', '$email')";
    $db->query($query);
    
    // 跳转到登录页面
    header('Location: login.php');
    exit;
}

// 验证用户登录信息
if(isset($_POST['login'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];
    
    // 查询 users 表中是否存在匹配的用户
    $query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
    $result = $db->query($query);
    
    // 如果存在匹配的用户,则跳转到用户的专区页面
    if($result->num_rows == 1) {
        session_start();
        $_SESSION['username'] = $username;
        header('Location: profile.php');
        exit;
    }
    
    // 否则,显示登录失败的提示信息
    $error = '登录失败,请检查用户名和密码是否正确。';
}
?>

Selepas pengguna berjaya mendaftar atau log masuk, kami boleh menyimpan maklumat identiti pengguna dalam Sesi dan menggunakan maklumat ini di halaman lain. Berikut ialah kod contoh mudah:

<?php
// 在用户登录成功后,将用户名存储在 Session 中
session_start();
$username = $_SESSION['username'];

// 连接数据库
$db = new mysqli('localhost', 'username', 'password', 'database');

// 查询用户在 questions 表中的数据
$query = "SELECT * FROM questions WHERE username = '$username'";
$result = $db->query($query);

// 在用户的专区页面中展示问题
while($row = $result->fetch_assoc()) {
    echo "<h3>{$row['title']}</h3>";
    echo "<p>{$row['content']}</p>";
    echo "<hr>";
}

// 查询用户在 answers 表中的数据
$query = "SELECT * FROM answers WHERE username = '$username'";
$result = $db->query($query);

// 在用户的专区页面中展示回答
while($row = $result->fetch_assoc()) {
    echo "<p>{$row['content']}</p>";
    echo "<hr>";
}
?>

Melalui contoh kod di atas, kita boleh melaksanakan fungsi kawasan pengarang dan penjawab soalan mudah. Pengguna boleh melakukan operasi yang sepadan pada halaman pendaftaran dan log masuk Selepas berjaya, mereka boleh melihat soalan yang berkaitan dan rekod jawapan di halaman kawasan mereka. Ciri ini membantu pengguna memahami sumbangan mereka sendiri kepada tapak web Soal Jawab dan ulasan pengguna lain.

Ringkasnya, PHP ialah alat yang sangat baik untuk membangunkan fungsi kawasan pengarang dan penjawab soalan dalam laman web kuiz. Melalui reka bentuk pangkalan data yang munasabah dan penulisan kod PHP, kami boleh melaksanakan fungsi sedemikian dengan mudah. Saya harap artikel ini berguna kepada anda, terima kasih kerana membaca!

Atas ialah kandungan terperinci Gunakan PHP untuk membangunkan fungsi kawasan pengarang dan penjawab soalan 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