ソーシャル ネットワークの発展に伴い、匿名でディスカッションやコメントに参加することを好む人が増えています。これが、多くの 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 サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

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

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

ホットトピック









