-3

列の製品名があり、値があるとしますShoe's。dbからその値を選択して使用mysql_real_escape_stringし、それをhtmlの非表示の入力に配置すると、次のようになります。<input type='hidden' value='Shoe\'s' id='product_name'>

私がそうするとき、それはその後値のまたは残りを切り捨てる$('#product_name').val()だけを返します。jQueryは、エスケープされた一重引用符をattr値の終了引用符として想定しています。Shoe\s

解決策はvalue=""(二重引用符で囲まれた)を使用することですが、値に二重引用符が含まれている場合はどうなりますか?したがって、問題は解決しません。どんな助けでも大歓迎です。

ありがとう!

4

2 に答える 2

4

mysql_real_escape_stringHTML出力には使用しないでください。htmlspecialchars代わりに適切なものを使用してください。

于 2012-07-09T14:06:26.620 に答える
0

HTMLでは、引用符の前の円記号は、引用符がエスケープされることを意味しません。'HTMLでエスケープされているのは&#039;です。そのため、出力ターゲットに適切なエスケープ方法を使用します。mysql_real_escape_stringSQLの場合htmlspecialcharsは適切であり、HTMLの場合は適切です。

于 2012-07-09T14:09:03.710 に答える