好的,這裏是你需要做的。首先,根據該意見,從其他問題:
ISOLATE
您需要確定是什麼原因造成的問題。它是服務器嗎?它是否有一些隱藏的代碼?什麼?有些程序員可能包括這樣的代碼配置頁上:
<?php if (isset($_POST))
foreach ($_POST as $key => $value) $_POST[$key] = addslashes($value);
?>
因此,這裏有一些檢查,看它是否是服務器。這是儘可能堅實的檢查方式。創建一個新的頁面。將其全部留空並添加以下代碼:
<?php print_r($_POST); ?>
<form action="" method="POST">
<input type="text" name="test" value="O'riley" />
<input type="submit" name="submit" value="submit" />
</form>
將其保存並加載到瀏覽器中。點擊提交。看看是否仍然添加斜槓。
如果它仍在添加它,則需要排除服務器/配置的故障。如果它是您付費的服務器,則需要告訴他們修復或推送它。如果它是你自己的服務器,那麼你將需要做一些搞亂/谷歌搜索來弄清楚如何關閉魔術引號。
如果沒有引號出現,那肯定會有一些代碼在你的帖子變量中加斜線。但是,它可能不像上面的代碼那麼明顯。您需要在您的代碼上運行「addslashes」,「mysql_real_escape_string」和可能的「str_replace」搜索。如果您發現其中之一,則需要禁用它。但是請注意,這可能會破壞您的網站的其他正在發生此行爲的部分。將數據存儲在數據庫中的其他選擇是執行類似於上述代碼的功能,但是可以在其上運行stripslashes。然後你可以稍後運行mysql_real_escape_string。 (有點不必要的開銷。)
你能從你的'php.ini'中顯示魔術引號嗎? – eggyal 2012-05-30 08:36:58