功能你自己都说出来了,还有什么不明白的?post提交的,就用post接收。。 test_input 不过是一个简单的过滤函数而已

解决方案 »

  1.   

    举个例子,$str="   hello   ",hello前后有三个空格,你可以用echo strlen($str)看到是有11个字符的,如果echo strlen(trim($str))看到就只有5个字符,因为前后的三个空格被去掉了... stripslashes()  也就是你说的去掉数据中存在的反斜杠,对应的有addslashes,对引号转移,也就是添加反斜杠,比如存在嵌套的引号时。 htmlspecialchars 就是把一些特殊字符进行转码,从而不按本身来显示,比如<会转换成&lt; 而>会转换成 &gt;  等等
    你自己实际操作一下就明白了,这些都是基础
      

  2.   

    1.trim
    把字符傳兩邊的空格去掉。
    例如
    $str = '   abc  ' ;
    echo $str; // '  abc  ';
    echo trim($str); 'abc'2.stripslashes
    返回一个去除转义反斜线后的字符串(\' 转换为 ' 等等)。双反斜线(\\)被转换为单个反斜线(\)。 例如特殊字符," ' \ 等,直接寫入mysql 是會報錯的,所以要對這些字符轉義 \要寫\\, '要寫成\'  "要寫成\" 才能正常使用。而stripslashes的作用就是把轉義還原。
    \' 轉為 '
    \\ 轉未 \
    \" 轉為 "3.htmlspecialchars
    html的標記轉義
    例如你有個字符是<html>
    如果你直接輸出,在頁面上是看不到東西,因為<html>是html標記,會被瀏覽器解釋。
    所以就需要用到htmlspecialchars,把html標記轉為字符串。
    轉義規則如下:
    '&' (ampersand) becomes '&amp;'  
    2.  '"' (double quote) becomes '&quot;' when ENT_NOQUOTES  is not set.  
    3.  "'" (single quote) becomes '&#039;' (or &apos;) only when ENT_QUOTES  is set.  
    4.  '<' (less than) becomes '&lt;'  
    5.  '>' (greater than) becomes '&gt;' 所以<html>使用htmlspecialchars后會轉義為 &lt;html&gt;