PHP は、知識の質問と回答の Web サイトに質問公開機能を実装します。
インターネットの普及と発展に伴い、知識の質問と回答の Web サイトはますます人気が高まっています。トリビア Web サイトでは、ユーザーは質問し、他のユーザーから回答を得ることができます。今回はPHPを使ってナレッジQ&Aサイトに質問投稿機能を実装する方法を紹介します。
質問投稿機能は、ユーザーが Web サイト上で質問し、その質問をデータベースに投稿できるようにする重要な機能です。以下は、質問投稿機能の実装方法を示す簡単なサンプル コードです。
まず、質問投稿テーブル (質問) とデータベース接続を作成します。
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); }
Web サイトのフロントエンド ページで、質問のタイトルと内容を入力するフォームを作成し、POST リクエストを介してデータをサーバーに送信します。
<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>
質問投稿のロジックを処理するための submit_question.php という名前のファイルを作成します。
<?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(); ?>
上記のコードでは、まずフォームから渡された質問のタイトル、内容、ユーザー ID を取得します。次に、SQL 挿入ステートメントを実行して、質問のタイトル、内容、およびユーザー ID を質問テーブルに挿入します。挿入が成功した場合は「問題が正常に投稿されました!」が出力され、そうでない場合はエラーメッセージが出力されます。
上記のコード例を通じて、ナレッジ Q&A Web サイトに質問公開機能を実装できます。ユーザーは、質問のタイトルと内容を入力し、公開ボタンをクリックすることで、質問をデータベースに公開できます。開発者はこれに基づいて、実際のニーズに基づいて機能を拡張および最適化できます。
この記事では、単純なサンプル コードのみを提供しており、ユーザー ID 認証や SQL インジェクションの防止などのセキュリティとユーザー エクスペリエンスの問題については触れていないことに注意してください。実際の開発では、Web サイトのセキュリティとユーザー エクスペリエンスを確保するために、これらの側面を考慮し、対応する措置を講じる必要があります。
以上がPHPはナレッジQ&Aサイトへの質問投稿機能を実装しています。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。