在網頁上,用戶輸入格式爲「07.02.14,14:00」的日期。在服務器上,我使用以下代碼解析用戶輸入:
$myDate = DateTime::createFromFormat('d.m.y, H:i', $_POST['userdate']);
$mysqlDate = $myDate->format('Y-m-d H:i:s');
// use $mysqlDate for SQL queries...
它有效。但是,如果用戶輸入一個字符串,不輸入模式PHP終止腳本錯誤
PHP Fatal error: Call to a member function format() on a non-object
問題匹配:
什麼是PHP的最佳實踐來處理錯誤這樣的?我是否應該檢查createFromFormat
的返回值,是否應該用try-catch塊來包圍用戶輸入的腳本處理的整個部分,還是有另一個更好的解決方案?
環境:
的腳本是一個管理的Web服務器上運行,而對我來說,集成第三方庫,這並不容易。所以我正在尋找一種可以與PHP 5.3開箱即用的最佳實踐。
它無法解析特殊輸入語法並返回任何結果。 – tangens
然後讀取用戶輸入並手動分割,然後從中創建日期格式 – ramesh