我有關於輸入特殊字符的問題。首先,+
被認爲是 作爲特殊字符,對吧?我的表單中需要包含+
。但是,當我使用AJAX將其發送到我的PHP腳本並使用$_POST
訪問變量時,+
未顯示,因此未保存在數據庫中。AJAX請求中的特殊字符
例子:
// on the JavaScript side
value = +123;
paramPost = "name=abc&value=" + value;
alert("paramPost = " + paramPost);
// Output: parampost = name=abc&value=123
// The + is gone!
// Also, when I change value to a string, the + is still there,
// but when PHP receives it, it's gone.
ajax.doPost(paramPost);
// on the PHP side
$val = $_POST['value'];
echo "val = $val";
// Output: 123
// The + is no longer there!
我能做些什麼來解決這個問題?
我嘗試這樣做:
$val = htmlspecialchars($_POST['value'], ENT_QUOTES);
...但它仍然沒有奏效。
請清理你的代碼並使用代碼標籤。是// parampost = name = abc&value = + 123應該被註釋掉?它有關係嗎? – matchew 2011-06-09 03:23:23
我不太瞭解php,但是有沒有辦法讓你逃脫字符? – 2011-06-09 03:29:19
嗨matchew!謝謝你,已經得到了解決方案..我只是寫出來的基礎:)即時通訊使用encodeURIComponent()及其工作正常。感謝您的回覆:) – tinks 2011-06-09 03:36:24