我只是想找出為什么我不斷收到此錯誤:Notice: Undefined variable: flsrfc現在 $flsrfc 設置如下:if (date_create($flstart)) { $flsdt = date_create($flstart); if ($flsdt) { $flsrfc = date_format($flsdt, "Y-m-d\TH:i"); } else { $flsrfc = date_format(date_create(time()), "Y-m-d\TH:i"); }}現在我遇到的問題是嘗試使用我嘗試獲取的格式化時間來設置本地日期時間輸入。這是該代碼以及錯誤說明其來源的代碼。我的猜測是 date_create 函數不起作用,但我不知道為什么。$HTMLOUT .= '<input name="fls" value="'.$flsrfc.'" size="30" type="datetime-local" />';我確保 $flstart 從數據庫中獲取數據,這是它的代碼:$flstart = mysqli_fetch_row(mysqli_query("SELECT value FROM config WHERE name = 'flstart'"))[0];我已經閱讀了許多 php 的手冊頁和文檔,試圖找出原因,我在時間戳上嘗試了 strtotime,不行,我也嘗試將它強制為整數,這也是同樣的問題。有人能給我指明正確的方向嗎?謝謝。
1 回答

ITMISS
TA貢獻1871條經驗 獲得超8個贊
您的問題是,如果date_create失敗,則$flsrfc永遠不會設置。您應該將該代碼重寫為:
if (($flsdt = date_create($flstart)) !== false) {
$flsrfc = date_format($flsdt, "Y-m-d\TH:i");
}
else {
$flsrfc = date("Y-m-d\TH:i");
}
請注意,您可以else通過調用來簡化該部分,date因為它的默認輸入是time().
就失敗原因而言date_create,這取決于表中數據的格式。如果您將其存儲為 MySQLdate或datetime類型,則應該沒有問題。否則,您可能需要使用date_create_from_format適當的格式參數來匹配表中存儲的內容。
- 1 回答
- 0 關注
- 96 瀏覽
添加回答
舉報
0/150
提交
取消