Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert die Funktion zum Posten von Fragen auf der Wissens-Q&A-Website.

PHP implementiert die Funktion zum Posten von Fragen auf der Wissens-Q&A-Website.

WBOY
WBOYOriginal
2023-07-01 20:01:281393Durchsuche

PHP implementiert die Funktion zum Posten von Fragen auf der Q&A-Website

Mit der Popularität und Entwicklung des Internets ist die Q&A-Website immer beliebter geworden. Auf einer Trivia-Website können Benutzer Fragen stellen und Antworten von anderen Benutzern erhalten. In diesem Artikel stellen wir vor, wie Sie mit PHP die Funktion zum Posten von Fragen auf der Wissens-Q&A-Website implementieren.

Die Funktion zum Posten von Fragen ist eine Schlüsselfunktion, die es Benutzern ermöglicht, Fragen auf der Website zu stellen und die Fragen in der Datenbank zu posten. Das Folgende ist ein einfacher Beispielcode, der zeigt, wie die Funktion zum Posten von Fragen implementiert wird:

Erstellen Sie zunächst eine Tabelle zum Posten von Fragen (Frage) und eine Datenbankverbindung.

CREATE TABLE question (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    content TEXT NOT NULL,
    user_id INT(11) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

$conn = new mysqli('localhost', 'username', 'password', 'database'); // 替换为正确的数据库连接信息

if ($conn->connect_error) {
    die("数据库连接失败:" . $conn->connect_error);
}

Erstellen Sie auf der Startseite Ihrer Website ein Formular zur Eingabe des Titels und Inhalts der Frage und senden Sie die Daten per POST-Anfrage an den Server.

<form action="submit_question.php" method="post">
    <label for="title">问题标题:</label>
    <input type="text" name="title" id="title" required><br>
    <label for="content">问题内容:</label>
    <textarea name="content" id="content" required></textarea><br>
    <input type="submit" value="发布问题">
</form>

Erstellen Sie eine Datei mit dem Namen „submit_question.php“, um die Logik der Fragenveröffentlichung zu verwalten.

<?php
// 获取从表单传递过来的问题标题和内容
$title = $_POST['title'];
$content = $_POST['content'];
$user_id = 1; // 这里假设用户ID为1,可以根据实际情况进行修改

// SQL插入语句,将问题插入到question表中
$sql = "INSERT INTO question (title, content, user_id) VALUES ('$title', '$content', $user_id)";

if ($conn->query($sql) === TRUE) {
    echo "问题发布成功!";
} else {
    echo "问题发布失败:" . $conn->error;
}

$conn->close();
?>

Im obigen Code erhalten Sie zunächst den Fragetitel, den Inhalt und die Benutzer-ID, die aus dem Formular übergeben wurden. Fügen Sie dann den Titel, den Inhalt und die Benutzer-ID der Frage in die Fragentabelle ein, indem Sie eine SQL-Einfügeanweisung ausführen. Bei erfolgreicher Einfügung wird „Problem erfolgreich gepostet!“ ausgegeben, andernfalls wird eine Fehlermeldung ausgegeben.

Durch das obige Codebeispiel können wir die Funktion zum Posten von Fragen auf der Wissens-Q&A-Website implementieren. Benutzer können Fragen in der Datenbank veröffentlichen, indem sie den Titel und den Inhalt der Frage eingeben und auf die Schaltfläche „Veröffentlichen“ klicken. Entwickler können auf dieser Basis Funktionen bedarfsgerecht erweitern und optimieren.

Es ist zu beachten, dass dieser Artikel nur einen einfachen Beispielcode enthält und keine Sicherheits- und Benutzererfahrungsprobleme wie die Authentifizierung der Benutzeridentität und die Verhinderung der SQL-Injection beinhaltet. Bei der tatsächlichen Entwicklung sollten diese Aspekte berücksichtigt und entsprechende Maßnahmen ergriffen werden, um die Sicherheit der Website und das Benutzererlebnis zu gewährleisten.

Das obige ist der detaillierte Inhalt vonPHP implementiert die Funktion zum Posten von Fragen auf der Wissens-Q&A-Website.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn