Web user behavior: Difference between revisions

From LemonWiki共筆
Jump to navigation Jump to search
Line 5: Line 5:
* 空值 ex: 空白、全形空白、NULL、0000-00-00
* 空值 ex: 空白、全形空白、NULL、0000-00-00
** PHP: 陣列元素中的空白值,可用 [http://www.php.net/manual/en/function.array-filter.php array_filter] 函數移除。
** PHP: 陣列元素中的空白值,可用 [http://www.php.net/manual/en/function.array-filter.php array_filter] 函數移除。
** [https://zh.wikipedia.org/wiki/%E7%A9%BA%E6%A0%BC 空格 - 維基百科,自由的百科全書]
* 文字字串間夾雜空白
* 文字字串間夾雜空白
* 輸入文字內容的前後有額外的空白。處理方式:
* 輸入文字內容的前後有額外的空白。處理方式:
** PHP: 可用 [http://php.net/manual/en/function.trim.php rim] 函數處理。陣列元素值則搭配 [http://php.net/manual/en/function.array-map.php array_map] 函數處理。ex: {{kbd | key = <nowiki>$trimmed_array = array_map('trim' ,$array);</nowiki>}}<ref>[http://stackoverflow.com/questions/5762439/how-to-trim-white-spaces-of-array-values-in-php How to trim white spaces of array values in php - Stack Overflow]</ref>
** PHP: 可用 [http://php.net/manual/en/function.trim.php rim] 函數處理。陣列元素值則搭配 [http://php.net/manual/en/function.array-map.php array_map] 函數處理。ex: {{kbd | key = <nowiki>$trimmed_array = array_map('trim' ,$array);</nowiki>}}<ref>[http://stackoverflow.com/questions/5762439/how-to-trim-white-spaces-of-array-values-in-php How to trim white spaces of array values in php - Stack Overflow]</ref>
** jQuery: [http://api.jquery.com/jQuery.trim/ $.trim('string')]
** jQuery: [http://api.jquery.com/jQuery.trim/ $.trim('string')]
* 包含特殊符號 ex: 單引號 ', 雙引號 ", 反斜線 \, 大於小於符號 > <
* 包含特殊符號 ex: 單引號 ', 雙引號 ", 反斜線 \, 大於小於符號 > <
** 對策: [http://www.php.net/manual/en/function.htmlentities.php PHP: htmlentities - Manual] {{kbd | key=<nowiki>echo htmlentities($str, ENT_QUOTES, "UTF-8");</nowiki>}}
** 對策: [http://www.php.net/manual/en/function.htmlentities.php PHP: htmlentities - Manual] {{kbd | key=<nowiki>echo htmlentities($str, ENT_QUOTES, "UTF-8");</nowiki>}}
** [[Export MySQL query to Excel file]]: [https://errerrors.blogspot.tw/2016/02/navicat.html 解決 Navicat 「存放裝置空間不足,無法完成此操作」問題訊息] 「如果欄位內容是以等號 (=) 、加號 (+)、減號 (-) 或 @ 符號開頭,都會被 (Excel) 視作公式。」而造成錯誤
** [[Export MySQL query to Excel file]]: [https://errerrors.blogspot.tw/2016/02/navicat.html 解決 Navicat 「存放裝置空間不足,無法完成此操作」問題訊息] 「如果欄位內容是以等號 (=) 、加號 (+)、減號 (-) 或 @ 符號開頭,都會被 (Excel) 視作公式。」而造成錯誤
* 超出預期的內容長度、內容長度超出預期的版面長度、超出預期的資料數量
* 超出預期的內容長度、內容長度超出預期的版面長度、超出預期的資料數量
* 資料數量從少量變成多量時
* 資料數量從少量變成多量時
* 重複的內容 ex: Excel 欄位重複
* 重複的內容 ex: Excel 欄位重複
* (可勾選多個項目的狀況下) 只勾選了單一項目或者沒有勾選項目,就送出(submit)表單資料
* (可勾選多個項目的狀況下) 只勾選了單一項目或者沒有勾選項目,就送出(submit)表單資料
* (如果允許輸入多行文字) 包含換行符號 e.g. {{kbd | key=<nowiki>\r\n</nowiki>}} on {{Win}}, {{kbd | key=<nowiki>\r</nowiki>}} on {{Mac}} & {{kbd | key=<nowiki>\n</nowiki>}} on {{Linux}}<ref>[https://social.msdn.microsoft.com/Forums/zh-TW/47af2197-26b4-4b9e-90e8-bfa9d5cd05b4/what-is-the-deference-between-r-n-and-rn-?forum=csharplanguage What is the deference between What is the deference between \r, \n and \r\n ?!]</ref>
* (如果允許輸入多行文字) 包含換行符號 e.g. {{kbd | key=<nowiki>\r\n</nowiki>}} on {{Win}}, {{kbd | key=<nowiki>\r</nowiki>}} on {{Mac}} & {{kbd | key=<nowiki>\n</nowiki>}} on {{Linux}}<ref>[https://social.msdn.microsoft.com/Forums/zh-TW/47af2197-26b4-4b9e-90e8-bfa9d5cd05b4/what-is-the-deference-between-r-n-and-rn-?forum=csharplanguage What is the deference between What is the deference between \r, \n and \r\n ?!]</ref>
* unicode 符號、emoji
* unicode 符號、emoji
* 可能進行 [https://en.wikipedia.org/wiki/SQL_injection SQL injection]
* 可能進行 [https://en.wikipedia.org/wiki/SQL_injection SQL injection]



Revision as of 11:17, 14 December 2017

網站上可能的使用者操作行為、輸入內容

使用者操作/使用者輸入的內容

使用者輸入內容,包含資料庫內的內容文字。內容可能是

  • 文字字串間夾雜空白
  • 輸入文字內容的前後有額外的空白。處理方式:
    • PHP: 可用 rim 函數處理。陣列元素值則搭配 array_map 函數處理。ex: $trimmed_array = array_map('trim' ,$array);[1]
    • jQuery: $.trim('string')
  • 超出預期的內容長度、內容長度超出預期的版面長度、超出預期的資料數量
  • 資料數量從少量變成多量時
  • 重複的內容 ex: Excel 欄位重複
  • (可勾選多個項目的狀況下) 只勾選了單一項目或者沒有勾選項目,就送出(submit)表單資料
  • (如果允許輸入多行文字) 包含換行符號 e.g. \r\n on Win Os windows.png , \r on macOS icon_os_mac.png & \n on Linux Os linux.png [2]
  • unicode 符號、emoji

使用者操作

  • 重複點選按鈕
  • 在輸入框內,輸入完文字後,按一次或多次的 Enter 鍵 (回車鍵)
  • 使用 Tab 鍵,將游標移到下一個輸入框
  • 重複修改內容: (1) 建立文件 → 編輯文件 → 儲存文件。 (2) 開啟舊檔文件 → 編輯文件 → 再次儲存文件。
  • 編輯檔案到一半,不小心手滑,按到「刪除」。
  • 編輯檔案到一半,不小心手滑,按到「上一頁」。建議提示儲存文件,而避免遺失資料。

使用者環境

操作順序

  • 使用者的操作順序,可能不按照功能設計的順序
  • 沒有選取任何項目,就提交(submit)或操作表格

網頁 UI 元件回饋訊息

  • 操作錯誤時的回饋訊息,例如輸入錯誤帳號密碼的回饋
  • 資料儲存變動的回饋訊息,例如資料順利儲存時顯示「儲存成功」
  • 搜尋結果的回饋訊息,例如搜尋結果顯示結果筆數

references

further reading


Troubleshooting of ...

Template