5.
前台顯示及各種控管
一、 關於期限(日期的比較)
- 在資料庫中,若欄位是日期格式,那麼可以直接以日期格式比大小。
- 在PHP中無法直接以日期來比大小,故需先將日期用strtotime()轉為時間戳記才能比較大小。
- 若一次只要找出一期,那麼可以在SQL最後加上「limit 0,1」,0代表從第一筆資料抓起,1代表只抓一筆資料。
二、 秀出訊息後轉向
- 不管是要除錯,或者是要告知使用者某些資訊,都是一個不錯的功能:
redirect_header($_SERVER['PHP_SELF'],3, mysql_error());
- 三個參數,分別為:轉向到哪個頁面, 顯示秒數 , 顯示訊息
三、 Bootstrap的警示框
- 用來秀出一些醒目訊息用
<div class="alert alert-info">相關訊息</div>
- alert-success (綠)、alert-info (藍)、alert-warning (橘)、alert-danger (紅)
四、 簡易除錯
- 利用 die(),搭配 var_dump() 或 var_var_export() ,可以檢查接收的變數為何。
die(var_export($_POST));
- 例如上例就是檢查post表單送出的所有值為何。
五、 關於安全表單
- 裡面的參數已經從XOOPS_TOKEN_REQUEST改為XOOPS_TOKEN
$XoopsFormHiddenToken=new XoopsFormHiddenToken('XOOPS_TOKEN',360);
- 其實不填任何參數也可以!
六、 取得最後新增資料的流水編號
- 一般新增完,我們會取得其流水號,並轉向至該頁的儲存結果:
$page_sn=$xoopsDB->getInsertId();
七、 Bootstrap的標籤與徽章
- 適合用來進行一些標籤的標示
<span class="label label-info"><{$page.page_tag}></span>
- https://kkbruce.tw/bs2/Components#labels-badges
八、 讀出時記得進行過濾
- 由於內容是用所見即所得編輯器,故HTML必須開啟,最後的換行轉<br>記得關閉。
$myts =& MyTextSanitizer::getInstance();
$page['page_title']=$myts->htmlSpecialChars($page['page_title']);
$page['page_content']=$myts->displayTarea($page['page_content'], 1, 1, 1, 1, 0);
九、 試試看
- 如何讓未登入者,在首頁,只能看到已出版的文章,而看不到審核中或者審核完卻未到出版日的文章?
十、模組完整包
tad_ebook 20140425