寫程式的一些觀念
一、頁面轉向的方式
- HTML 的轉址方法
<meta http-equiv="refresh" content="秒數;url=網址" />
- Javascript 的轉址方法
<script>document.location.href="網址";</script>
- PHP 的轉址方法
前提,前面不可以有輸出 header('Location: 網址'); exit;
- 寫入、更新、刪除資料庫時
- 列表:將某個主表的欄位顯示在頁面上(重要的欄位),資料多時,會用到分頁,而每筆記錄的列表,會有「新增」、「編輯」、「刪除」、「瀏覽」.....
由於列表有顯示畫面,所以會使用 smarty 樣板引擎
- 表單:當按下「新增」、「編輯」時,系統會顯示表單,來收集資料
由於新增與編輯的架構是一樣的,不同的是預設值,編輯會從「資料庫」撈資料,新增則使用預定的值
這裡如果是新手沒有概念如何處理,請依照需求,一個一個寫出來,換句話就是寫一個「新增表單」與一個「編輯表單」,經過幾個案子後,自然能看出關聯,進而將二個合而為一,節省日後程式維護的時間
由於表單有顯示畫面,所以會使用 smarty 樣板引擎
- 顯示單筆
...... - 寫入資料庫:表單將資料送出時,這時就需要將資料寫入資料庫,動作執行完畢,就需轉向,不然畫面什麼都不動作,使用者不曉得是否有執行,而按「重整」鍵,造成系統重覆執行寫入的動作
- 通常是「列表」,為什麼?這個留到上課再來解釋
- 佈局:
# ---- 目前網址 ----
$_SESSION['return_url'] = getCurrentUrl();
getCurrentUrl():這是一個函數,用來擷取目前的網址
$_SESSION['return_url']:$_SESSION[] 則是伺服端的全域變數,會一直存在到瀏覽器關閉為止 - 轉向:
redirect_header($_SESSION['return_url'], 3, _BP_SUCCESS);
這是我們自訂的函數,用來轉向,並通知使用者執行結果