php中get,post,cookies,session的反斜槓問題

<pre name="code" class="php">magic_quotes_runtime =on時,php在提取數據(包括從get,post,cookies,session,數據庫)時就會自動在' " \前加上轉義符"\"而當magic_quotes_runtime =off時就沒有該功能,而數據入庫前通過addslashes()加的轉義符在存入數據庫時就被自動過濾掉了,所以如果php.ini中magic_quotes_runtime =off時再用stripslashes()去掉“\”就會無法正確顯示原來的數據。
數據放入數據庫和取出來顯示在頁面需要注意什麼
//addslashes與stripslashes互應函數
入庫時
$str=addslashes($str);
$sql="insert into `tab` (`content`) values('$str')";
出庫時
$str=stripslashes($str);
顯示時
//nl2br與htmlspecialchars是互應函數
$str=htmlspecialchars(nl2br($str)) ;
要改一下才不至於誤導人出庫時
$str=stripslashes($str);是否stripslashes要看php.ini中magic_quotes_runtime是否爲on



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章