5

サイズの選択を表す文字列を格納するテキストボックス「size_txt」を含むフォームがあります。

<input type="text" name="size_txt" id="size_txt" style="display: none;" /> 

値は別のページに投稿され、このコードによって取得されます

$new_size=addslashes($_POST['size_txt']);

残念ながら、「引用符」であるインチの略語を保存する必要があります

文字列が '10" medium' の場合、$new_size の値は '10' です

ただし、文字列が 'medium 10"' の場合、$new_size の値は 'medium 10/"' です。

他の誰かがこの動作に遭遇し、それを解決する方法を見つけましたか?

助けてくれてありがとう

4

2 に答える 2

2

はい、問題はそこにあります。

キリル文字を含む文字列に対して addslashes() を使用すると、addslashes() は文字列を完全に混同し、使用できなくなることに注意してください。

ソリューションの数

1)addslashes の代わりに mysql_real_escape_string を使用する

2) str_replace のような以下のコードを試してください

$myString = str_replace("'", "\'", $myString);
$myString = str_replace('"', "'+String.fromCharCode(34)+'", $myString);

まだ問題がある場合はお知らせください。

よろしく

于 2013-09-21T20:46:31.010 に答える