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

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