2

シャウトボックス アプリケーションを含む Web サイトを開発しています。

私がやりたいのは、ユーザーまたはゲストがphpタグをメッセージとして挿入したり、画像で見たいように叫んだりした場合に受け入れる方法です..

ゲスト名とメッセージに mysql_real_escape_string を使用しています..

私はphpがそれをテキストとして扱い、タグやコードではなくテキストとして表示したい..

そのようなシャウトを入力すると、(ゲスト: 午後 3 時 34 分) のシャウトと同じようにメッセージが表示されず、メッセージが表示されず、データベースをチェックしてシャウトが挿入されているかどうかを確認すると、メッセージ列にデータが挿入されません私のtb_shoutboxの..

私はFacebookのチャットで試してみました.phpタグとhtmlタグを入力すると、そのようなメッセージが受け入れられます..それを行う方法..

助けてください..

シャウトボックス

4

3 に答える 3

2

特定の文字 (「<」など) を HTML エンティティに変換する必要があります。htmlentities関数は次のように使用できます。

echo htmlentities($guest_comment, ENT_QUOTES, 'utf-8');

于 2012-09-07T15:55:47.117 に答える
1

ウェイン・ウィッティの完全に正しい答えに基づいて構築し、彼の答えに対するあなたのコメントに答えるには:

mysql_real_escape_stringは、MySQL クエリを使用して変数のデータを MySQL データベースに挿入する場合に使用されます。変数の内容でクエリを壊すことはありません。

これにより、人々があなたのシャウトボックスにSQL インジェクションを行うのを防ぎます。

一方、 htmlentitiesは、人々が PHP スクリプトを壊すのを防ぎたい場合に使用します (これは非常に不快な場合があります)。与えられた文字列を純粋なhtmlにエンコードします。この文字列は、その中にあるものは何でも、ユーザーのすぐそばに表示する必要があることをブラウザーに伝えているようなものです。コードの解析は行われません。

あなたの質問に答えるために:コードのどこかに、データベース/ファイルからのメッセージをエコーする PHP 行があります。その行を変更して、最初にメッセージを htmlentities でエンコードし、次にそれを使用できるようにする必要があります。

于 2012-09-07T16:30:04.540 に答える
0

タグをプレーンテキストとして表示するには、 HTMLEntitiesを使用する必要があります。

于 2012-09-07T15:57:12.180 に答える