Header 函數 header()函數 Examples:

Slides:



Advertisements
Similar presentations
应用地球物理卓越人才培养体系构建与实践 吉林大学地球探测科学与技术学院 刘 财 经验交流.
Advertisements

动态网站开发 【HTTP与网络基础】 李博杰
白玉苦瓜 余光中.
HTML第一课 李 伟 HTML开发语言基础.
LearnMode學習吧 行動學習 網站註冊程序 長榮中學 電腦中心 製.
第8讲 HTML与PHP基础 静态网页 vs. 动态网页.
認證與檔案上傳 學習目標 基本原理 資料庫連線與選擇 執行查詢 取回答案 SQL Injection.
一、登录界面 (一)登录方式 1、访问广东工程咨询网 ( 动态里,“咨询师登记工作”专栏 2、 IE地址栏中直接键入管理系统 地址(
Hello World 體驗實作第一個JSP程式.
Chapter14 HTML簡介與簡易網頁製作
第 2 章 必備的 HTML 與 CSS 重點.
第四章 網頁表單與資料傳遞.
國立高雄海洋科技大學 電子郵件收信軟體設定說明
PHP與SQL語法存取MySQL SQL
TCP協定 (傳輸層).
利用PHP將資料存入MySQL PHP 5 Tutorial 範例:
Cookie 存取Cookie Cookie有效時間 Session 存取Session session 函數
Google Data API Spreadsheet
進階 WWW 程式設計 -- PHP Regular Expression 靜宜大學資訊管理學系 蔡奇偉副教授 2004
Controls.
PHP+MySQL互動式網頁程式設計班 檔案上傳程式設計 講師:林業峻 CSIE, NTU 7 / 3, 2010.
檔案上傳 所謂檔案上傳,就是將檔案由客戶端的主機,藉 由瀏覽器傳送到伺服器的資料夾上。
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
CHT IPv6測試 D-Link Taiwan 友訊科技台灣分公司 TTSS 電信技術支援課 Name:
PHP 程式流程控制結構.
OpenID與WordPress使用說明
App Inventor2呼叫PHP存取MySQL
硬體話機設定說明.
第一讲 J2EE基础 博和利初级培训 —开发技能.
檔案與磁碟的基本介紹.
系統設定 IE8相容性檢視
網頁切換移轉 JS vs. ASP.NET.
PHP與SQL語法存取MySQL SQL
Cookie 存取Cookie Cookie有效時間 Session 存取Session session 函數
PHP 變數、常數與運算子 變數 常數 運算子
表單(Form).
PHP5與MySQL4 入門學習指南 凱文瑞克 著 第 16 章 檔案處理.
UpToDate Anywhere 設定方法
HTML 103 互動式網頁.
本院使用建教合作之輔仁大學 圖書館資料庫 設定方式說明
第一個cordova project Cordova project建立與平台設定,均藉由cli(command line interface來完成 建立project請打開命令提示字元視窗應輸入下列命令 cordova create hello tw.edu.stust.mis.hello HelloWorld.
Header 函數 header()函數 Examples:
Ch09 在網頁之間傳遞資訊 網頁程式設計.
HTML – 超連結與圖片 資訊教育.
表單(Form).
表格(HTML – FORM).
期末考.
HTTP 1.1 Method OPTIONS GET HEAD POST PUT DELETE TRACE CONNECT
HTML 103 互動式網頁 助教:黃毓瑩.
Controls.
個人網路空間 資訊教育.
PHP與SQL語法存取MySQL SQL
XML備份MySQL資料庫 <html> <head>
利用PHP將資料存入MySQL PHP 5 Tutorial 範例:
FTP使用教學 簡介: 軟體名稱:FileZilla 軟體性質:Freeware 版本: 繁體中文版
第6章 PHP的数据采集.
表格(HTML – FORM)
編輯網頁可用那些應用程式? 記事本 Word FrontPage Dreamweaver.
Dreamweaver 進階網頁製作 B 許天彰.
國立屏東大學宿舍網路連線 設定說明 104/08/12.
PHP程式設計 五、程式流程控制結構 建國科技大學 資訊管理學系 饒瑞佶.
黑龙江省科学基金 项目验收填报培训 黑龙江省计算中心 2015年09月.
網頁設計實務- PHP 與資料庫整合.
Brief Guide of FrontPage
Supplier Profile Database
多站台網路預約系統之 AJAX即時資料更新機制
第五章 自訂佈景主題與文字處理 講授者:詹雅愔.
NFC (近場通訊, Near Field Communication) 靜宜大學資管系 楊子青
Unix指令4-文字編輯與程式撰寫.
CHT IPv6測試 D-Link Taiwan 友訊科技台灣分公司 TTSS 電信技術支援課 Name:
Presentation transcript:

Header 函數 header()函數 Examples: http://ycchen.im.ncnu.edu.tw/www2011/lab/plab2.zip

HTTP Message

header 函數簡介 header() 函數會傳送一個標題訊息給瀏覽器。 因為這些訊息都遵循 HTTP 的規範, 因此瀏 覽器會依據這些訊息做適當之回應。 常見header名稱: Location Refresh Content-type Expires Last-Modified

Header 函數簡介 header()格式 標頭宣告文字: 傳給瀏覽器的標題。 int header (string 標頭宣告文字 [, bool 置換 [, int http回應碼]]) 標頭宣告文字: 傳給瀏覽器的標題。 置換 : True: 當有兩個相同的標題, 後面的訊 息將會覆蓋前一個訊息。 HTTP 回應碼: 指定HTTP 回應碼的值。

Location Location - 瀏覽器顯示指定的網頁。 格式: header("Location: http://絕對網路位址"); 應用: 客製化網頁 1: <?php 2: header("Location: http://www.flag.com.tw"); 3: exit; 4: ?>

<?php if (empty($_GET['choose'])): ?> <html> <title>多向轉址</title> <body> 您喜歡瀏覽的運動相關訊息是:<br> <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="get"> <input type="radio" name="choose" value="1">游泳<br/> <input type="radio" name="choose" value="2">健行<br/> <input type="radio" name="choose" value="3">登山<br/> <input type="submit" value=" 選好了 "> </form> </body> </html> else: $hostname=$_SERVER['HTTP_HOST']; $abs_path=dirname($_SERVER['PHP_SELF']); $filename=$_GET['choose'].".htm"; header("Location: http://".$hostname.$abs_path."/".$filename); exit; endif

Refresh Refresh - 更新網頁。 header("Refresh: N; URL=網址"); 應用: 廣告看板、新聞內容更新等等

Refresh 範例 –廣告看版 <?php header("Refresh: 5"); ?> <html> … $msg[0] = "學如逆水行舟, 不盡則退"; $msg[1] = "今日事, 今日畢"; $msg[2] = "登高必自卑, 行遠必自邇"; $msg[3] = "天下無難事, 只怕有心人"; $msg[4] = "失敗為成功之母"; $msg[5] = "微笑, 是最好的國際語言"; $i = rand()% 6; echo "今日小語 : $msg[$i]";

Content-type Content-type - 定義網頁內容的類型,避免亂碼 的產生。 Content-Type = "Content-Type:" media-type 例如: header("Content-type: text/html; charset=big5"); 設定網頁內容為big5 header("Content-type: image/gif"); 設定網頁內容為gif格式的圖片 header("Content-type: application/pdf"); 設定網頁內容為pdf檔

<img src="getImg.php" alt="random flower" /> $arrImg = array("sf003.jpg", "sf027.jpg", "sf029.jpg", "sf032.jpg", "sf033.jpg", "sf038.jpg", "sunFlower.jpg"); $rn = rand(0, count($arrImg)-1); $img = $arrImg[$rn]; header("Content-type: image/jpeg"); // header("Content-Disposition: attachment; filename=$img"); header("Content-Length: ".filesize($img)); $ff=fopen($img, "rb"); $bdata = fread($ff, filesize($img)); echo $bdata; fclose($ff); ?>

使用 header() 函數認證 基本的認證就是使用帳號密碼 網頁兩種輸入帳密方式: 表單輸入 HTTP 認證 IE Firefox

HTTP 認證 安全php 時需採用module 模式才可執行,若採用CGI 模式就無法使用 認證內容會存於PHP預設變數PHP_AUTH_USER 及 PHP_AUTH_PW。程式中只要讀取此兩個變數即可 獲得使用者輸入的帳號及密碼。

HTTP 認證 loginAuth.php <?php if (empty($_SERVER['PHP_AUTH_USER'])) { header("Content-type: text/html; charset=utf-8"); header('WWW-Authenticate: Basic realm="Web Programming@NCNU"'); header('HTTP/1.0 401 Unauthorized'); echo '請輸入正確的帳號及密碼, 不可以取消!'; exit; } ?> <html xmlns="http://www.w3.org/1999/xhtml"> ... echo "您登入的帳號是 ".$_SERVER['PHP_AUTH_USER']."<br>"; //echo "您使用的密碼是 ".$_SERVER['PHP_AUTH_PW']."<p>"; if (($_SERVER['PHP_AUTH_USER'] != 'admin') || ($_SERVER['PHP_AUTH_PW'] !='pwd999')) echo "登入失敗, 請開啟新的瀏覽器重新登入"; else echo "登入成功.....";

Cache Control 為了節省網路的資源,經常架設許多代理伺服器(proxy server)。有了代理伺服器,使用者會先連上proxy server, 若是找不到所需資料才會再連結到遠端網站伺服器讀取 資料。 若某個網站更新快速,就可能發生網站內容已更新,但 使用者利用proxy server 上的舊資料的情形。因此必須宣 告網頁的有效期限,使用者才可以讀到最新的網頁內容

Cache Control Cache Control 大致可以分成幾種類型 Expires: 設定過期時間, 當時間超過指定時間就表示網 頁內容已經失效。 Last-Modified: 設定最後修改日,暗示cache 中的資料 是否有效 no-cache :使得伺服器的資料可以傳送到遠端的使用 者, 而不會被暫存 (cache) 起來。 no-store :是預防不良的版本或者是敏感的資訊被保留 下來。 must-revalidate: 是指必須要再評估資訊, 如果暫存 (cached) 的資料是無效的則讓伺服器與使用者端連線 Date 是說明資料內容的建立日期及時間。

Cache Control Date : 資料內容的建立日期及時間。 Date = "Date:" HTTP-date 範例: header("Date: Sun, 15 Feb 2004 08:00:00 GMT"); 建立日期是2004年2月15日8時。

Cache Control Cache Control 簡單範例 header("Expires: Fri, 31 Oct 2003 18:00:00 GMT"); 表示2003年10月31日星期五 18時。 header("Last-Modified: Wed, 01 Jan 2003 12:00:00 GMT"); 上次修改時間2003年1月1日12時 header("Date: Sun, 15 Feb 2004 08:00:00 GMT"); 建立日期是2004年2月15日8時。