進階 WWW 程式設計 -- PHP 簡介 靜宜大學資訊管理學系 蔡奇偉副教授

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

《计算机网络技术》 动态网页制作技术 常用HTML控件课程积件 杨 姝.
第六章 网页设计与制作基础.
动态Web开发技术--JSP.
SSI(Server Side Include)
ASP.NET 網頁製作教本 -- 從基本語法學起
第8讲 HTML与PHP基础 静态网页 vs. 动态网页.
HTML概念 HTML(Hyper Text Markup Language 超文本标识语言) 是一种用来制作超文本文档的简单标记语言。
Web Programming 網際網路程式設計
第五章:JDBC与数据库 第一讲.
第一章 JSP概述 学习目标 JSP技术是目前WEB开发技术中应用最广泛的一种.本章对JSP技术、优点、缺点、应用前景作了简要介绍。
Apache PHP MySQL 介紹與安裝設定 NIT 戴琬諭 NIT 林佳保.
網頁技術簡介.
教学网站设计与制作教程 第四周 主讲:黄光芳 TEL:
模块1 网页设计基础 实训1 体验HTML文档 1.1 网页基础知识 1.2 网站配色方案 1.3 网站设计常用软件
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
5.1 – 表格(FORM) 輸入元素 : 兩種傳遞方法 : GET or POST 範例 1. 文字欄位 Text box
CT212 (02/03)-Network Programming and design
HTML.
Ch07 PHP程式基礎 網頁程式設計.
第3章 超文本标记语言(HTML) 3.1 基本结构标记 3.2 文本格式标记 3.3 超链接标记<A></A>
建國技術學院資訊管理學系 饒瑞佶 2004/7/5 彰化縣政府補助辦理網頁設計資料庫應用班 建國技術學院資訊管理學系 饒瑞佶 2004/7/5.
Google 自訂搜尋 淡江大學資訊中心 專案發展組 朱家璁 2009/10/6.
PHP程式設計 二、HTML & PHP基本語法 建國科技大學 資訊管理學系 饒瑞佶.
Chapter14 HTML簡介與簡易網頁製作
第四章 網頁表單與資料傳遞.
Introduction to PHP part3
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
PHP +MySQL快速入門 Lesson 4.
第一篇 Unix/Linux 操作介面 第 1 章 Unix/Linux 系統概論 第 2 章 開始使用 Unix/Linux
客戶端的檔案上傳 HtmlInputFile檔案控制項 上傳單一檔案 同時上傳多個檔案.
進階 WWW 程式設計 -- PHP Regular Expression 靜宜大學資訊管理學系 蔡奇偉副教授 2004
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
PHP 程式流程控制結構.
安裝JDK 安裝Eclipse Eclipse 中文化
Methods 靜宜大學資工系 蔡奇偉副教授 ©2011.
進階 WWW 程式設計 -- PHP 語言結構(三) 靜宜大學資訊管理學系 蔡奇偉副教授 2003
Android App簡介及 App Inventor 2體驗 靜宜大學資管系 楊子青
网 站 设 计 与 建 设 Website design and developments
PHP 變數、常數與運算子 變數 常數 運算子
表單(Form).
第一單元 建立java 程式.
VS.NET 2003 IDE.
HTML 103 互動式網頁.
第一個cordova project Cordova project建立與平台設定,均藉由cli(command line interface來完成 建立project請打開命令提示字元視窗應輸入下列命令 cordova create hello tw.edu.stust.mis.hello HelloWorld.
第十五章 WWW網頁的製作 計算機概論編輯小組.
PHP 5與MySQL5 入門學習指南 凱文瑞克 著 第 1 章 PHP簡介.
表單(Form).
網頁程式概論 建國科技大學資管系 饒瑞佶 2015/9 V1 2016/4 V2 2016/9 V3.
表格(HTML – FORM).
期末考.
HTML 103 互動式網頁 助教:黃毓瑩.
XML備份MySQL資料庫 <html> <head>
VS.NET 2003 IDE.
探測工具:NetCat.
Class & Object 靜宜大學資工系 蔡奇偉副教授 ©2011.
第6章 PHP的数据采集.
表格(HTML – FORM)
Video 影像 (VideoPlayer 影像播放器、Camcorder 錄影機) 靜宜大學資管系 楊子青
MiRanda Java Interface v1.0的使用方法
陣列與結構.
從HTML表格到CSS 靜宜大學 資管系 楊子青.
Dreamweaver 進階網頁製作 B 許天彰.
PHP程式設計 五、程式流程控制結構 建國科技大學 資訊管理學系 饒瑞佶.
Brief Guide of FrontPage
W3C标准网页制作 主讲教师:张 涛.
What is “this”? 在物件導向程式設計中,類別的定義就是在說明如果創建了“這個物件”的話,它會具有那些屬性與功能,以及這些功能是如何實現的。 而所謂的“這個物件”就以 this 來表示。 當我們在JavaScript與jQuery中寫 script 程式(函式)時,“誰”呼叫這個函式,這個“誰”就是該函式中所謂的.
NFC (近場通訊, Near Field Communication) 靜宜大學資管系 楊子青
第1章 HTML基础 主讲人:刘泰然 经济管理学院.
表单页面 表单是用户利用浏览器对Web站点网络数据库进行查询的一种界面,用户利用表单可以输入信息或选择选项等,然后将这些信息提交给服务器进行处理。通过表单,既可以将浏览器的信息发送到Internet服务器上,同时表单也可以使用户与站点的浏览者交互或从浏览者那里收集信息。它是网页的设计者和使用者相互交流的工具。表单对象包括文本域(单行、多行、密码)、列表、菜单、复选框、单选框、按钮等。
Presentation transcript:

進階 WWW 程式設計 -- PHP 簡介 靜宜大學資訊管理學系 蔡奇偉副教授 2003 -2007 2018/12/9 進階 WWW 程式設計 PHP 簡介 靜宜大學資訊管理學系 蔡奇偉副教授 2003 -2007 靜宜大學資管系 蔡奇偉編撰 版權所有 2003

內容大綱 Server-side Web Programming PHP 是什麼? PHP 發展簡史 PHP 的特點 PHP 程式的執行方式

Server-side Web Programming Client Server Resources Request Response HTTP DBMS CGI PHP ASP JSP Apache or IIS Files Programs ColdFusion MX WWW Server

Server-side 程式技術 Common Gateway Interface (CGI) PHP CGI 定義 WWW 伺服器與應用程式間的資料交流規範。符合這種規範的程式通稱為 CGI 程式。大部分的 CGI 程式是用 Perl 或 C/C++ 來撰寫。 PHP PHP 是一種嵌入在網頁 HTML 原始檔中的程式語言。利用 PHP 直譯器執行網頁中的 PHP 程式而產生動態的網頁內容。 (http://www.php.net)

Active Server Pages (ASP) ASP 是微軟公司所發展的一種類似 PHP 的技術。你可以用 VBScript 或 JScript 來撰寫嵌入在網頁 HTML 原始檔中的程式。微軟的直譯器執行網頁中的程式後就能產生出動態的網頁內容。 (http://msdn.microsoft.com) JavaServer Pages (JSP) JSP 是昇陽公司配合 Java 所發展的一種伺服端網頁程式技術。 (http://java.sun.com/products/jsp/)

PHP 是什麼? PHP 原來是 Personal Homepage Preprocessor 三個英文字的縮寫,現在則被遞迴性地定義成 PHP: Hypertext Preprocessor 的縮寫。 PHP 是一套電腦程式語言,主要用來產生 HTML 格式的網頁內容。 PHP 的程式碼是寫在 HTML 原始檔中,和網頁的文字內容共存。 PHP 也可當作 command-line scripting,而具有像 Perl, awk 或 Unix shell 這類工具程式的功能。 配合 PHP-GTK 套件可用來撰寫圖形介面的應用程式。

PHP 發展簡史 1995: Rasmus Lerdorf 為了記錄有誰看了他的覆歷表網頁而寫了 PHP 的第一個版本。 1996: Rasmus Lerdorf 發表 PHP 2 (PHP/FI) 。 1997: Zeev Suraski 和 Andi Gutmans 加入 PHP 的發展,他們重新改寫 PHP 的直譯器引擎,提高 PHP 程式執行效率。 1998: PHP 3 問世,內部使用了 Zeev Suraski 和 Andi Gutmans 所寫的 Zend 語言引擎。 2000: PHP 4 問世。 2004: PHP 5 改善 PHP 的物件導向方面的效率。

PHP 名人堂 Rasmus Lerdorf Zeev Suraski Andi Gutmans

PHP 的特點 PHP 是 Open Source 的軟體。 PHP 的語法類似 C/C++ 和 Perl。如果你已經熟悉這些語言,應該能很容易地學會它。 PHP 提供完善的資料庫處理函式,透過這些函式我們可以在網頁程式中存取市面上絕大部分的資料庫系統。 PHP 具有強大的字串處理功能。 PHP 提供豐富的函式用來滿足處理網路、繪圖、壓縮、XML、…、等等的需求。

PHP 程式的執行方式 Request from clients 呼叫對應的 MIME 處理程式來處理(大部分是由 WWW 伺服器找到檔案後,回傳給客戶端) .php? No Yes WWW 伺服器呼叫 PHP 直譯器來執行此 PHP 網頁 WWW 伺服器

PHP 的程式碼用標籤 <?php 和 ?> 包夾起來加在網頁中,所以 PHP 直譯器用以下的流程來處理 PHP 網頁: No 是一般的 HTML 網頁內容,因此直接輸出給 WWW 伺服器,然後回傳至客戶端。 Yes Yes ?> 標籤? No 執行 PHP 程式行 PHP 直譯器

一些 PHP 程式範例 Hello, PHP 顯示日期 顯示中文星期 依星期顯示不同訊息 九九乘法表 表單的處理 資料庫的處理

範例一:Hello, PHP <html> 網頁中的 PHP 程式碼必須擺在<?php 和 ?> 這兩個標籤之間。 <head> <title>Hello PHP</title> </head> <body> <?php echo "Hello, PHP!"; ?> </body> </html> 網頁中的 PHP 程式碼必須擺在<?php 和 ?> 這兩個標籤之間。 echo 是 PHP 的內建指令。它的功能是把其後所跟的字串參數輸出至指令所在的網頁位置。 效果等同於在此直接輸入字串: Hello, PHP!

在瀏覽器上顯示的結果如下:

範例二:顯示日期 <html> <head> 進階 WWW 程式設計 -- PHP 簡介 範例二:顯示日期 2018/12/9 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=big5"> <title>date</title> </head> <body> <p> 今天是 <?php echo date("l, m/j/Y"); ?> </p> </body> </html> 中文網頁必須加上這一行的字碼設定,否則在瀏覽器上會造成亂碼 date 是 PHP 內建的函式,它可用來產生 WWW 伺服器所在地的日期與時間。 靜宜大學資管系 蔡奇偉編撰 版權所有 2003

在瀏覽器上顯示的結果如下:

範例三:顯示中文星期 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=big5"> <title>Date2</title> </head> <body> <p> 今天是星期 <?php $weekdays = array('日', '一', '二', '三', '四', '五', '六'); echo $weekdays[date('w')] . ', ' . date("m/j/Y"); ?> </p> </body> </html>

在瀏覽器上顯示的結果如下:

程式說明 $weekdays = array('日', '一', '二', '三', '四', '五', '六'); 利用 array 指令把變數 $weekdays 設定成一個索引型的陣列,其中依序存入字串 ‘日’, ‘一’, …, ‘六‘ 等星期的名稱,即 $weekdays[0] = ‘日’; $weekdays[1] = ‘一’; … 註:PHP 變數的名稱都必須以字元 $ 起頭。 echo $weekdays[date('w')] . ', ' . date("m/j/Y"); date(‘w’) 這個函式傳回星期的序數:0 是星期天、1 是星期一、…等等,依此類推。拿這個函式值當 $weekdays 陣列的索引值即可得到相對的中文星期名稱。我們用字串合併運算子 (.) 把三個字串  $weekdays[date(‘w’)]、‘, ’ 、和 date(“m/j/Y”) 結合成一個字串,然後再用 echo 指令輸出到網頁。

範例四:依星期顯示不同訊息 <html> <!-- 同前例,省略 --> <p> 今天是星期 <?php $weekdays = array('日', '一', '二', '三', '四', '五', '六'); $wd = date('w'); echo $weekdays[$wd] . ', ' . date("m/j/Y"); if ($wd == 5) // Friday echo '</p><p>萬歲!明天是週末'; else echo '</p><p>唉!苦日子什麼時候過完?'; ?> </p>

在瀏覽器上顯示的結果如下:

範例五:九九乘法表 <h2 align="center">九九乘法表</h2> <table border="1" align="center" cellpadding="6" cellspacing="0"> <?php echo '<tr align="right" bgcolor="#CCCCCC"><th>*</th>'; for ($i = 1; $i <= 9; $i++) echo "<th>$i</th>"; echo "</tr>\n"; for ($i = 1; $i <= 9; $i++) { echo "<tr align=\"right\"><th bgcolor=\"#CCCCCC\">$i</th>"; for ($j = 1; $j <= 9; $j++) echo '<td>' . $i * $j . '</td>'; } ?> </table>

在瀏覽器上顯示的結果如下:

程式說明 // 輸出左上角的標題格 * echo '<tr align="right" bgcolor="#CCCCCC"><th>*</th>'; // 輸出第一列的標題格: 1, 2, …, 9 for ($i = 1; $i <= 9; $i++) echo "<th>$i</th>"; echo "</tr>\n"; // 逐列地輸出九九乘法表內容 for ($i = 1; $i <= 9; $i++) { // 輸出第 i 列最左邊的標題格 echo "<tr align=\"right\"><th bgcolor=\"#CCCCCC\">$i</th>"; // 輸出第 i 列的乘積 for ($j = 1; $j <= 9; $j++) echo '<td>' . $i * $j . '</td>'; }

範例六:表單的處理

表單的 HTML 原始檔: <form action="formex1.php" method="post"> <p> 姓: <input type="text" name="lastname" size="4">      名: <input type="text" name="firstname" size="8"> </p> <p>性別: <input type="radio" name="sex" value="male"> 男 <input type="radio" name="sex" value="female"> 女 <input type="submit" name="Submit" value=" 送出 "> <input type="reset" name="Reset" value=" 重設 "> </form>

網頁說明 用 POST 的方式來傳送表單資料 <form action="formex1.php" method="post"> <input type="text" name="lastname" size="4"> 設定此輸入欄的名稱,使PHP 程式可以用這名稱來取得此欄的資料 <input type="radio" name="sex" value="male"> 設定此圓鈕欄的值。若瀏覽者選取此圓鈕,此值會回傳至 WWW 伺服器,PHP 程式因而可辨識出瀏覽者所選取的圓鈕為何

處理表單的 PHP 網頁 formex1.php <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=big5"> <title>處理表單範例一</title> </head> <body> <?php $lastname = $_POST['lastname']; $sex = $_POST['sex']; echo '<p>' . $lastname . (($sex == 'male')? '先生' : '小姐' ) . ' 歡迎光臨本站</p>'; ?> </body> </html>

程式說明 $_POST 是 PHP 內建的一個對照陣列(associative array),其中儲存使用 POST 方法傳回的表單資料。在本範例中,若表單的輸入如右圖所示,則 $_POST 內容如下: ‘lastname’ ‘陳’ ‘firstname’ ‘水扁’ ‘sex’ ‘male’ 所以 $lastname = $_POST[‘lastname’]; 這行程式的用意是取出表單中名稱為 ‘lastname’ 輸入欄的值,並存入變數 $lastname 中。執行後, $lastname 的值將為 ‘陳’。