検索
ホームページバックエンド開発PHPチュートリアルPHPで匿名コメントを実装する方法(コード付き)

ソーシャル ネットワークの発展に伴い、匿名でディスカッションやコメントに参加することを好む人が増えています。これが、多くの Web サイトが匿名コメント機能を提供している重要な理由の 1 つです。この記事では、Webサイトをより使いやすくするための匿名コメント機能をPHPを使って実装する方法を紹介します。

始める前に、セッションという重要な概念を理解する必要があります。セッションとは、ユーザーの情報をサーバー側に保存する技術で、ユーザーが初めてWebサイトにアクセスした際に、サーバーがユーザーを識別するための固有のセッションIDを作成します。セッション ID は、Cookie の形式でユーザーのブラウザに保存されます。次回アクセスすると、ブラウザはこの ID を自動的にサーバーに送信します。サーバーは、ID に基づいて対応するセッションを見つけ、関連情報の読み取りまたは書き込みを行います。 。

さて、匿名コメント機能の実装を始めましょう!

最初のステップはコメント フォームを作成することです

まず、ユーザーがコメントの内容を入力するためのコメント フォームをフロントエンド ページに追加する必要があります。このフォームでは、ユーザーは匿名でコメントを残す必要があるため、コメントの内容のみを提供する必要があります。そのため、ユーザーはその他の個人情報を入力する必要はありません。


  
  
  

ここでは、コメントの内容を「content」という名前の POST 変数に保存し、フォームを comment.php ページに送信します。

2 番目のステップはコメント データの処理です。

ユーザーがコメントを送信すると、サーバー側でコメントの内容を処理する必要があります。 comment.php ページでは、まずユーザーがログインしているかどうかを確認できます。ログインしている場合は、ログインしているユーザーのユーザー名を使用してコメントを投稿します。それ以外の場合は、コメント用にランダムな匿名ユーザー名を作成します。

session_start();
if(isset($_SESSION['username'])) {
  $username = $_SESSION['username'];
} else {
  $username = '匿名用户' . rand(1000,9999);
}

$content = $_POST['content'];
// 此处可以将评论内容保存到数据库中,并加上用户名和时间戳等信息

このコードでは、session_start() 関数を使用してセッションを開き、ユーザーがログインしたかどうかを確認します。ユーザー名情報がセッションに存在する場合 (つまり、ユーザーがログインしている場合)、そのユーザー名を使用します。それ以外の場合は、ユーザーのランダムなユーザー名を作成します。ここでは、PHP の rand() 関数を使用して、匿名ユーザー名の一部として乱数を生成します。最後に、$_POST['content'] を使用してフォーム内のコメントのコンテンツを取得し、それを $content 変数に保存します。

ここでは、コメントの内容をデータベースに保存するか、ページに直接出力するかを選択できます。ここでは、「データベースに保存」メソッドを使用してそれを実現します。

// 连接到数据库
$conn = mysqli_connect($db_host, $db_username, $db_password, $db_name);

// 插入评论数据
$sql = "INSERT INTO comments (username, content, timestamp) VALUES ('$username', '$content', NOW())";
$result = mysqli_query($conn, $sql);

// 关闭数据库连接
mysqli_close($conn);

ここでは、PHP の組み込み mysqli ライブラリを使用してデータベースに接続し、SQL ステートメントを実行して、「comments」という名前のデータ テーブルにコメント データを挿入します。このうち、ユーザー名とコンテンツの列にはそれぞれユーザー名とコメントの内容が格納され、タイムスタンプの列には現在のタイムスタンプが格納されます。データ挿入操作が完了したら、mysqli_close() 関数を使用してデータベース接続を閉じます。

3 番目のステップ、コメント リストの表示

最後のステップでは、ユーザーが他のユーザーのコメントを確認できるように、ページにコメント リストを表示する必要があります。この例では、コメントのリストを出力する簡単な方法を使用していますが、必要に応じて調整できます。

// 连接到数据库
$conn = mysqli_connect($db_host, $db_username, $db_password, $db_name);

// 查询评论数据
$sql = "SELECT * FROM comments ORDER BY timestamp DESC";
$result = mysqli_query($conn, $sql);

// 遍历每个评论并输出
while ($row = mysqli_fetch_assoc($result)) {
  $username = $row['username'];
  $content = $row['content'];
  $timestamp = $row['timestamp'];
  echo "<div>
<span>$username</span><span>$timestamp</span><br><p>$content</p>
</div>";
}

// 关闭数据库连接
mysqli_close($conn);

ここでは、SELECT ステートメントを使用してコメント テーブルのすべてのコメント データをクエリし、タイムスタンプの降順で並べ替えます。次に、mysqli_fetch_assoc() 関数を使用してデータの各行を連想配列に変換し、反復して各コメントのユーザー名、タイムスタンプ、コメント内容を出力します。最後に、mysqli_close() 関数を使用してデータベース接続を閉じます。

まとめ

この記事では、PHPを使用してコメントフォームの作成、コメントデータの加工、コメント一覧の表示など、匿名コメント機能を実装する方法を紹介しました。この例を通じて、セッションの基本概念、PHP の組み込み mysqli ライブラリ、およびいくつかの基本的なデータベース操作について学ぶことができます。もちろん、これは単なる実装であり、ニーズに応じて調整および最適化できます。

以上がPHPで匿名コメントを実装する方法(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
どのデータをPHPセッションに保存できますか?どのデータをPHPセッションに保存できますか?May 02, 2025 am 12:17 AM

phpssionscanStorestrings、numbers、arrays、andobjects.1.strings:textdatalikeusernames.2.numbers:integersorfloatsforcounters.3.arrays:listslikeshoppingcarts.4.objects:complextructuresthataresialized。

どのようにPHPセッションを開始しますか?どのようにPHPセッションを開始しますか?May 02, 2025 am 12:16 AM

tostartaphpsession、outsession_start()atthescript'sbeginning.1)placeitbe foreanyouttosetthesscookie.2)usesionsionsionsionserdatalikelogintatussorshoppingcarts.3)再生セッションインドストップレベントフィックスアタック

セッションの再生とは何ですか?また、セキュリティをどのように改善しますか?セッションの再生とは何ですか?また、セキュリティをどのように改善しますか?May 02, 2025 am 12:15 AM

セッション再生とは、新しいセッションIDを生成し、セッション固定攻撃の場合にユーザーが機密操作を実行するときに古いIDを無効にすることを指します。実装の手順には次のものが含まれます。1。感度操作を検出、2。新しいセッションIDを生成する、3。古いセッションIDを破壊し、4。ユーザー側のセッション情報を更新します。

PHPセッションを使用する際のパフォーマンスの考慮事項は何ですか?PHPセッションを使用する際のパフォーマンスの考慮事項は何ですか?May 02, 2025 am 12:11 AM

PHPセッションは、アプリケーションのパフォーマンスに大きな影響を与えます。最適化方法には以下が含まれます。1。データベースを使用してセッションデータを保存して応答速度を向上させます。 2。セッションデータの使用を削減し、必要な情報のみを保存します。 3.非ブロッキングセッションプロセッサを使用して、同時実行機能を改善します。 4.セッションの有効期限を調整して、ユーザーエクスペリエンスとサーバーの負担のバランスを取ります。 5.永続的なセッションを使用して、データの読み取り時間と書き込み時間を減らします。

PHPセッションはCookieとどのように異なりますか?PHPセッションはCookieとどのように異なりますか?May 02, 2025 am 12:03 AM

phpsesionsareserver-side、whilecookiesareclient-side.1)Sessionsionsionsoredataontheserver、aremoresecure.2)cookiesstoredataontheclient、cookiestoresecure、andlimitedinsizeisize.sesionsionsionivationivationivationivationivationivationivationivate

PHPはユーザーのセッションをどのように識別しますか?PHPはユーザーのセッションをどのように識別しますか?May 01, 2025 am 12:23 AM

phpidentifiesauser'ssessionsingsinssessionCookiesIds.1)whensession_start()iscalled、phpgeneratesauniquesidstoredsored incoookienadphpsessidontheuser'sbrowser.2)thisidallowsphptortorieSessiondatadata fromthata

PHPセッションを保護するためのベストプラクティスは何ですか?PHPセッションを保護するためのベストプラクティスは何ですか?May 01, 2025 am 12:22 AM

PHPセッションのセキュリティは、次の測定を通じて達成できます。1。session_regenerate_id()を使用して、ユーザーがログインまたは重要な操作である場合にセッションIDを再生します。 2. HTTPSプロトコルを介して送信セッションIDを暗号化します。 3。Session_Save_Path()を使用して、セッションデータを保存し、権限を正しく設定するためのSecure Directoryを指定します。

PHPセッションファイルはデフォルトで保存されていますか?PHPセッションファイルはデフォルトで保存されていますか?May 01, 2025 am 12:15 AM

phpsessionFilesToredInthededirectoryspecifiedBysession.save_path、通常/tmponunix-likesystemsorc:\ windows \ temponwindows.tocustomizethis:1)uesession_save_path()tosetaCustomdirectory、ensuringit'swritadistradistradistradistradistra

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、