0

を含むデータベース変数があります

5/8\" Cabinet Grade Plywood

" をエスケープするために WP または SQL によって \ が追加されます。

この変数を取得するとき、そのテーブルの編集に使用されるフィールドの値で stripslashes() を使用します (次回誰かがそのフィールドを編集したいときに、その入力に含まれているものが既に表示されます) と実際の Web サイトで登場すると思われる場所。

奇妙なことは..

フィールドでは、キャビネット グレードの合板を 5/8 インチからわずか 5/8 にカットします。

そして、それが表示されると思われるWebサイトでは、スラッシュや異常なものなしで正常に表示されます.

これは私がフィールドをストリップスラッシュする方法です:

$somevar = '<input value="'.stripslashes($currentselected['something']).'" class="niceclass" name="something" type="text" />';

これは、ページに表示されるときに使用する方法です。

 <td><span style="font-size: larger;"><?php echo stripslashes($goods['verygood']); ?></span></td>
4

2 に答える 2

1

HTMLマークアップと衝突するだけです

<input value="'.stripslashes($currentselected['something']).'"/>

結果として

<input value="5/8" Cabinet Grade Plywood" />

それらを見てください "、その場所で壊れています。それらをエスケープする必要があります"

これを修正するには、php で urlencode 関数を使用します

<input value="'.urlencode(stripslashes($currentselected['something'])).'"/>

または htmlspecialchars 関数、引用符を次のように置き換える必要があります

&quot;
于 2012-08-16T02:23:55.080 に答える
0

出力でいくつかを使用できますhtmlspecialchars。は"HTML で特別な意味を持ち、この場合、実際には のvalue属性の終了と見なされますinput。したがって、エスケープする必要があります (htmlspecialcharsに変換"され&quot;ます)。

于 2012-08-16T02:27:40.657 に答える