PHP的由來 在古早古早的時候,也就是1994年。當時有個叫Rasmus Lerdorf的人,

Slides:



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

《计算机网络技术》 动态网页制作技术 常用HTML控件课程积件 杨 姝.
第六章 网页设计与制作基础.
第 4 章 PHP 基本語法.
第5章 HTML 標籤介紹.
08 CSS 基本語法 8-1 CSS 的演進 8-2 CSS 樣式規則與選擇器 8-3 連結HTML 文件與CSS 樣式表
第8讲 HTML与PHP基础 静态网页 vs. 动态网页.
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
Ch07 PHP程式基礎 網頁程式設計.
第3章 超文本标记语言(HTML) 3.1 基本结构标记 3.2 文本格式标记 3.3 超链接标记<A></A>
建國技術學院資訊管理學系 饒瑞佶 2004/7/5 彰化縣政府補助辦理網頁設計資料庫應用班 建國技術學院資訊管理學系 饒瑞佶 2004/7/5.
PHP程式設計 二、HTML & PHP基本語法 建國科技大學 資訊管理學系 饒瑞佶.
PHP程式設計 三、PHP基本語法 建國科技大學 資訊管理學系 饒瑞佶.
Hello World 體驗實作第一個JSP程式.
PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 7 章 資料型態.
Chapter14 HTML簡介與簡易網頁製作
第四章 網頁表單與資料傳遞.
Introduction to PHP part3
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
PHP與SQL語法存取MySQL SQL
9/28號專題報告 Web網頁遊戲 曾建瑋.
PHP 5 入門基礎 第一個PHP 程式 PHP 資料型態.
JDK 安裝教學 (for Win7) Soochow University
網路概念 APACHE PHP MYSQL HTML BY 董仔 08/01/14.
資料庫管理 操作DBMS 指導教授:楊維邦  助教:廖皓翔.
客戶端的檔案上傳 HtmlInputFile檔案控制項 上傳單一檔案 同時上傳多個檔案.
Java程式概觀.
類別(class) 類別class與物件object.
SQL Stored Procedure SQL 預存程序.
R教學 安裝RStudio 羅琪老師.
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
安裝JDK 安裝Eclipse Eclipse 中文化
Java 程式設計 講師:FrankLin.
PHP 變數、常數與運算子 變數 常數 運算子
表單(Form).
第一單元 建立java 程式.
VS.NET 2003 IDE.
網頁程式設計 本章投影片錄自HTML5、CSS3、RWD、jQuery Mobile跨裝網頁設計 陳惠貞 著 碁峰資訊股份有限公司出版
Ch20. 計算器 (Mac 版本).
网页设计与制作教程第5版 机械工业出版社同名教材 配套电子教案.
HTML 103 互動式網頁.
第三章 資料型態與輸出控制 本章學習目標 認識Matlab的基本資料型態 練習資料型態的轉換 學習如何控制Matlab的輸出格式
HTML – 表格 資訊教育.
PHP概述
雲端計算.
Ch09 在網頁之間傳遞資訊 網頁程式設計.
PHP 5與MySQL5 入門學習指南 凱文瑞克 著 第 1 章 PHP簡介.
表單(Form).
JAVA 程式設計 資訊管理系 - 網路組.
網頁程式概論 建國科技大學資管系 饒瑞佶 2015/9 V1 2016/4 V2 2016/9 V3.
輸入&輸出 函數 P20~P21.
表格(HTML – FORM).
挑戰C++程式語言 ──第8章 進一步談字元與字串
HTML 103 互動式網頁 助教:黃毓瑩.
VS.NET 2003 IDE.
利用 EditorConfig 自訂文字編輯器設定
第6章 PHP的数据采集.
表格(HTML – FORM)
挑戰C++程式語言 ──第7章 輸入與輸出.
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
函數應用(二)與自定函數.
陣列與結構.
網頁設計實務 基礎HTML介紹 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月19日.
Dreamweaver 進階網頁製作 B 許天彰.
Brief Guide of FrontPage
多站台網路預約系統之 AJAX即時資料更新機制
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
表单页面 表单是用户利用浏览器对Web站点网络数据库进行查询的一种界面,用户利用表单可以输入信息或选择选项等,然后将这些信息提交给服务器进行处理。通过表单,既可以将浏览器的信息发送到Internet服务器上,同时表单也可以使用户与站点的浏览者交互或从浏览者那里收集信息。它是网页的设计者和使用者相互交流的工具。表单对象包括文本域(单行、多行、密码)、列表、菜单、复选框、单选框、按钮等。
教师:李金双 网页制作 教师:李金双
InputStreamReader Console Scanner
Presentation transcript:

PHP的由來 在古早古早的時候,也就是1994年。當時有個叫Rasmus Lerdorf的人, 他用Perl寫了一些後端的程式,記錄有哪些人看過他的線上履歷表。慢慢 地,一些網友對他所寫的程式碼產生興趣。於是,Rasmus Lerdorf就整理 這些程式碼,包裝成一個叫作 ”Personal Home Page”的工具。基於個人的 興趣,Rasmus Lerdorf又寫了一個腳本語言的核心引擎。然後,又加上了 能處理HTML表單輸入的工具,稱作 “Form Interpreter”簡稱FI。在1995年 完成的這個版本,當時稱作 “PHP FI”,也有人稱之為 ”PHP2”。 PHP/FI開發出來之後,受到網站開發者的極大的回響,使用PHP/FI來開發 網站程式的人越來越多。在1997年中的時候,PHP從Rasmus Lerdorf個人維 護的開發專案,轉變成一個重要的網站開發技術。PHP的開發與維護也轉由 一個由Rasmus Lerdorf本人和Andi Gutmans、Zeev Suraski、Stig Bakken、 Shane Cavaveo、以及Jim Winstead等人所組成的團隊來負責。在1998年6月 的時候,Zeev Suraski和Andi Gutmans改寫了PHP語言的解析器,並公佈這新 的版本,稱之為PHP3。

PHP簡介 PHP代表:超文本預處理器(PHP: Hypertext Preprocessor)。 PHP是開放源碼的通用腳本語言,特別適合用來開發網站程式,可以內嵌在HTML碼。 PHP程式的原始碼是純文字,所以可以用任何可處理純文字檔的文字編輯器,如:記事本、vi、emac等,來撰寫PHP程式。

PHP,ASP, JSP, VB Script, Java Script, DHTML 等 讓網頁活起來 傳統網頁:1.靜態的(Static),內容固定不變 2.不容易更新與維護 純HTML碼的網頁 動態網頁:1.內容是動態的 2.內容可以自動更新 3.互動性高 PHP,ASP, JSP, VB Script, Java Script, DHTML 等

HTML如何運作? HTML碼不受保護 步驟1:要求瀏覽網頁 A.htm 步驟2:下載A.htm 用戶端 伺服端 瀏覽器 網頁伺服器 步驟3:瀏覽器翻譯後顯示 HTML碼不受保護

PHP如何運作 ? PHP程式受到保護 步驟1:要求瀏覽網頁 A.php 步驟3:下載A.htm 用戶端 伺服端 瀏覽器 Apache網頁伺服器 用戶端 瀏覽器 步驟2:伺服器執行PHP程式並轉換成純HTML碼 PHP程式受到保護 要瀏覽PHP網頁,而不是開啟PHP網頁

Hyper Text Markup Language(HTML) HTML本身並非程式設計,只不過是標示(Markup)、強調及組織一般性的文字。 WWW上製作HomePage的語言,是一種標記語言。需透過瀏覽器翻譯標記後方可呈現 。 HTML 標準之原始資料 (HTML 4.0, 1997/11, W3C) 除標準HTML標記外,各瀏覽器廠商也自訂專屬的標記

何謂標記語言? Tag Language 製作HTML文件的過程中必須加入所謂的標記【TAG】,好讓瀏覽器知道該如何處理及呈現原始文件的內容。 在HTML語法中,除了少數例外,大都是以:<XX>開始,以</XX>結束;其中XX就是HTML的標記。

Web Server vs. Browser Web Server Client 端 瀏覽結果會因Browser不同而不同 下載 HTML文件, 由客戶端瀏覽器執行 *.htm *.htm 瀏覽結果會因Browser不同而不同

HTML標記 有頭有尾,中間夾住所要顯示的文字或圖形 純文字檔(使用一般的文字編輯器就可以作業) 無大小寫之分 檔名需要是.HTM或是.HTML <標籤名稱  屬性 =“設定值”> ..要顯示之文件資料.. </標籤名稱> <Tag  Attributes ="Value"> ..Document Of Display.. </Tag>

HTML標記類別 表格標籤(Table Tags) 表單標籤(From Tags) 文件結構標籤(Document Structure Tags) 區段格式標籤(Block Formatting Tags) 字元格式標籤(Character Formatting Tags) 清單標籤(List Tags) 連結標籤(Anchor Tag) 多媒體標籤(Multimedia Tag) 表格標籤(Table Tags) 表單標籤(From Tags)

常見HTML編寫工具 OFFICE FrontPage(我們選用這個) Dreamweaver Coreldraw Macromedia系列 : Flash, Director, Authoware 產生html碼容易,不過你要看的懂才有辦法修改 與加入新的東西

標準HTML之架構 <HTML> <HEAD><TITLE>瀏覽器抬頭列顯示的訊息</TITLE></HEAD> <BODY> 網頁主體內容 </BODY> </HTML>

HTML 表格標籤

表格元件 用以定義以橫列與直欄構成的表格。 包含許多選擇性元件與屬性。 <Table> …… </Table>

基本表格樣本 <TABLE> <CAPTION>表格標題</CAPTION> <TR> <TH>標題一<TH>標題二 <TD>第一列,內容一<TD>第一列,內容二 <TD>第二列,內容一<TD>第二列,內容二 </TABLE>

畸形表格的產生 ColSpan 與 RowSpan 屬性 ColSpan=3 RowSpan=2 ColSpan=2

HTML 表單標籤 提供使用者輸入傳送資訊 表單需必須配合著CGI、JAVA Script程式或是ASP程式來運作,不然表單單獨存在的意義並不大。 您的網頁將擺脫單向呈現,而開始邁入和使用者互動的階段!

表單基本格式 <FORM method=post或get action=處理表單程式> 不同表單類型 …. 送出/重寫按鈕 填寫完畢按下送出按鈕 表單 .htm或.php 處理程式 Abc.php 送回結果 .htm 表單與處理程式可以是同一個檔案

文字輸入列 每個表單之所以會有不同的類型,原因就在於 TYPE=“表單類型”設定的不同而已,我們就先 來看看第一個類型:文字輸入列。 文字輸入列的形態就是TYPE="TEXT,其使用方法如下: 呈現結果 姓名: 原始碼 <FORM> 姓名:<INPUT TYPE="TEXT" NAME="NAME" SIZE="20"> </FORM>

單選核取表單 利用TYPE=“RADIO”就會產生單選核取表單, 單選核取表單通常是好幾個選項一起擺出來供 使用者點選,一次只能從中選一個,故為單選 核取表單。 呈現結果 性別:男 女 原始碼 <FORM> 性別: 男 <INPUT TYPE="RADIO" NAME="SEX" VALUE="BOY"> 女 <INPUT TYPE="RADIO" NAME="SEX" VALUE="GIRL"> </FORM>

複選核取表單 利用TYPE=“ CHECKBOX ”就會產生複選核取表單, 複選核取表單通常是好幾個選項一起擺出來供使用者 點選,一次可以同時選好幾個,故為複選核取表單。 呈現結果 喜好: 電影 看書 原始碼 <FORM> 喜好: <INPUT TYPE="CHECKBOX" NAME="SEX" VALUE="MOVIE">電影 <INPUT TYPE="CHECKBOX" NAME="SEX" VALUE="BOOK">看書 </FORM>

密碼表單 利用TYPE=“ PASSWORD ”就會產生一個密碼表單, 密碼表單和文字輸入表單長得幾乎一樣,差別就在於 密碼表單在輸入時全部會以星號來取代輸入的文字, 以防他人偷窺。 呈現結果 請輸入密碼: 原始碼 <FORM> 請輸入密碼:<INPUT TYPE="PASSWORD" NAME="INPUT"> </FORM>

送出/重寫按鈕 通常我們表單填完之後,都會有一個送出按鈕以及清除 重寫的按鈕,分別是利用TYPE=“ SUBMIT ”及 TYPE=" RESET "來產生,相當的簡單易用。 呈現結果 原始碼 <FORM> <INPUT TYPE="SUBMIT" VALUE="送出資料"> <INPUT TYPE="RESET" VALUE="重新填寫"> </FORM>

大量文字輸入元件 有時候我們會希望讓使用者輸入比較大量的文字,此時, 文字輸入列就顯得不敷使用,因此我們就可以利用 <TEXTAREA></TEXTAREA>來產生一個可以輸入大量文 字的元件,夾在兩個標籤中的文字會出現在框框中,可作 為預設文字。 呈現結果 請輸入您的意見: 原始碼 <FORM> 請輸入您的意見:<BR> <TEXTAREA NAME="TALK" COLS="20" ROWS="3"></TEXTAREA> </FORM>

下拉式選單 下拉式選單令整個網頁看起來有很專業的感覺,我們 只要利用<SELECT NAME=“名稱”>便可以產生一個下 拉式選單,另外,還需要配合<OPTION>標籤來產生選 項,這樣才算完整喔! 呈現結果 您喜歡看書嗎?: 原始碼 <FORM> 您喜歡看書嗎?: <SELECT NAME="LIKE"> <OPTION VALUE="非常喜歡">非常喜歡 <OPTION VALUE="還算喜歡">還算喜歡 <OPTION VALUE="不太喜歡">不太喜歡 <OPTION VALUE="非常討厭">非常討厭 </SELECT> </FORM>

隱藏欄位 表單中有時有些東西因為某些因素,不想讓使用者看到, 但因程式需要卻又不得不存在,此時,我們就可以利用 TYPE=" HIDDEN "來產生一個隱藏的欄位。 呈現結果 隱藏欄位: 原始碼 <FORM> 隱藏欄位:<INPUT TYPE="HIDDEN" NAME="NOSEE" VALUE="看不到"> </FORM>

PHP 基本語法介紹

PHP基本語法 內嵌在HTML標籤中,使用 <?php php程式 ?> 或 <? php程式 ?> 或 <% php程式 %> 或(ASP亦使用此表示,要設定php.ini ) <script language=“php”>php程式</script> 標示 需要經由Apache Server轉譯後才可以動作 副檔名為 .php或 .php3 每個命令結尾需要加上;

PHP基本語法 程式註解,使用 // 表示單行註解 /* 中間文字是註解 */ 表示多行註解 註解內不可以再出現註解符號 /* 中間文字是註解 */ 表示多行註解 註解內不可以再出現註解符號 PHP不像HTML可以直接使用瀏覽器執行

PHP基本語法-基本輸出 輸出指令 echo PHP與HTML 嵌入HTML標籤中 在HTML標籤外 獨立存在 單引號與雙引號對變數處理的方式不同 使用echo會比print略有效率。 PHP與HTML 嵌入HTML標籤中 在HTML標籤外 獨立存在

PHP 資料型態

PHP資料型態 在PHP中,變數之前必需加$的符號 PHP的大小寫是有差別的,所以在使用變數時,須注意大小寫是否一致 變數使用前不需要事先宣告 使用變數時被指定的值的型態就是變數的型態 PHP共有 8 種資料型態

PHP資料型態 名稱 型態 範例 Boolean 布林型態 $a=True; Integer 整數型態 $a=10; Float 浮點數型態 String 字串型態 $a=“Hello !!”; Array 陣列型態 $a[0]=20; Object 物件型態 $a=new Objectclass; Resource 外部資源 $a=mysql_connect(); Null Null型態 $a=NULL;

Boolean布林型態 只有真(True)與假(False)兩種值 可以直接設定 $a=True; $b=False; 其他型態轉換成布林型態

Integer整數型態 10進制,8進制(0)與16進制(0x)三種 表示方法 [+|-] [0|0x] 數值 $a=123;(10進制) $b=-456;(10進制) $c=0123;(8進制相當於10進制的83) $d=0x45;(16進制相當於10進制的69)

Double浮點數型態 一般與指數二種表示法 表示方法 $a=12.3456;(一般) $b=-123.456;(一般負浮點數) $c=1.23e-2;(指數) $d=1.23e2;(指數)

String型態 文字的串列組合 在 PHP 中有三種指定字串的方法: 雙引號(“) 單引號(‘) heredoc 語法(<<<)(補充)

String型態-雙引號 包含在雙引號裡頭的可以是一般文字字串。 如果含有變數的話,會以該變數的值代入。 與 C、Perl 一樣,PHP 也允許以「\」代表跳脫(escape)字元,在雙引號中加入具有特殊用途的符號,如:  \n:換行(newline)  \r:送出 CR(carriage)  \t:跳位(Tab)  \\:反斜線(backslash)  \$:錢字號(dollar sign)  \“:雙引號(double-quote)  \[0-7]{1,3}:八進位表示法的 regular expression  \x[0-9A-Fa-f]{1,2}:十六進位表示法的 regular expression 例:<?  $str_1 = ”I am here!“;  $str_2 = ”str_1 : $str_1“;  echo $str_2;  ?>  輸出的結果將是:str_1 : I am here!,原先被包含在雙引號中的變數($str_1)以其值代入了。

String型態-單引號 使用單引號要注意的是,在單引號中的變數不會以變數值代入。 另外,可以被 escape 的字元只有兩個:\‘ 與 \\。 例:<?  $str_1 = 'I am here!';  $str_2 = 'str_1 : $str_1';  echo $str_2;  ?> 輸出的結果將是:str_1 : $str_1,原先被包含在單引號中的變數($str_1)不會被其值所取代。

String型態 兩個字串可以以”.”符號進行連接。 附錄字串函數(課本好像沒有?) http://www.peterpanstudio.com/ver_two/cgi/index_php.htm http://tw2.php.net/manual/en/funcref.php

String型態-heredoc synex 這種設定字串的方法只在 PHP4 提供,主要用於引用一整段文字,如: <?  $a = “abc”;  $str = <<< CHENSH  中文“測試”有雙引號<br>  中文‘測試’ $a 有單引號與變數  CHENSH;  echo $str;  ?>  輸出的 HTML 碼:  中文“測試”有雙引號  中文‘測試’ abc 有單引號與變數 上述的 CHENSH 是用來標示文字段落起迄位置的 identifier,可自行命名。另外,結束的 identifier 一定要放在該行的行首,否則將導致錯誤。

Array陣列型態 集合相同屬性的變數所成的集合。 可以是二維、三維或者多維陣列,其中的元素也很自由,可以是 string、integer 或者 double,甚至是 array。 語法:$陣列名稱[指標] 陣列由第 0 個元素開始配置。 例:  $a[0] = 1234;  $a[1] = 567;  $a = array(1234, 567); $car0 $car1 $car2 $car3 $car4 $car[0] $car[1] $car[2] $car[3] $car[4]

Object物件型態 類別(資料成員與成員函數)與物件(使用類別)。 物件的使用上比較麻煩,要先宣告類別,甚至必須先要有方法,方可使用物件。 例: <?  class foo {    function do_foo () {      echo "Doing foo.";    }  } $bar = new foo;  $bar -> do_foo ();  ?> 執行結果:  Doing foo. 先宣告類別

資源型態 負責與外部資源(檔案、資料庫、 影像等)聯繫。 不可以直接操作,需要透過特殊函數才能操作。 例如MySQL,需要透過MySQL函數來操作。 無法進行型態轉換

Null型態 表示變數裏沒有任何值,而不是0。 例如: $n1=NULL; unset($n2); echo $n1; echo $n2;

型態轉換 您可以強迫將變數的型態轉換,例如: <?   $a = 10;    // $a is an integer   $b = (double)$a;    // $b is an double  ?>  當字串被轉換成數值資料時,原則上是: 1. 如果字串含有 .、e 或 E,則當成是 double 型態,否則視為 integer。 2. 以字串的開頭字元能否辨識為準,無法辨識的均轉為數值 0。 例: <?  $foo = 1 + "10.5";                   // $foo is float (11.5)  $foo = 1 + "-1.3e3";                // $foo is float (-1299)  $foo = 1 + "bob-1.3e3";          // $foo is integer (1)  $foo = 1 + "bob3";                  // $foo is integer (1)  $foo = 1 + "10 Small Pigs";     // $foo is integer (11)  $foo = 1 + "10 Little Piggies"; // $foo is integer (11)  $foo = "10.0 pigs " + 1;           // $foo is integer (11)  $foo = "10.0 pigs " + 1.0;        // $foo is float (11)  ?>

變數與常數 內定變數 在 PHP 執行時,有部份預設的變數可用,您可以執行 phpinfo( ) 以查看這些變數。例如: SERVER_NAME:chensh.loxa.edu.tw  HTTP_USER_AGENT:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) SCRIPT_FILENAME:/home/chensh/php/A_4.php

變數與常數 如果 php.ini 中 register_globals 被設定為 on 的話,上述的變數直接在前頭加上 $ 符號即可使用,例如:$SERVER_NAME。 倘若 register_globals 被設定為 off(預設值)的話,上述變數的讀取方法就不一樣了,它們被當作是 $_SERVER 陣列的一個元素,請用 $_SERVER['變數名稱'] 的方式來讀取它,例如:$_SERVER['SERVER_NAME']。

變數影響範圍 變數的影響範圍通常是 global,自啟用起,至該程式結束均有效 在自定的函數中,變數的影響範圍是 local,只侷限在函數內部。例: <?  $a = 1;  $b = 2;  function sum_test( ) {    return $a + $b;  }  echo sum_test( );  ?> 執行結果為 0,因為 $a 與 $b 的影響範圍無法達到 sum_test( ) 內部。

變數影響範圍 若希望在自定函數內引用外部的變數,則使用關鍵字 global 宣告,或是使用 global 變數陣列 $GLOBALS[ ]。 例:<?   $a = 1;   $b = 2;   function sum_test_1( ) {     global $a, $b;     return $a + $b;   }   function sum_test_2( ) {     return $GLOBALS[“a”] + $GLOBALS[“b”];   }   echo sum_test_1( );   echo sum_test_2( );  ?> sum_test_1( ) 與 sum_test_2( ) 的執行結果均為 3。

以變數為名的變數(Variable Variables) 在 PHP 中,變數的名稱也可以是變數,例如: <?  $a = "hello";  $$a = "world";  echo $a . " " . $$a;    // 輸出結果:hello world  echo $a . " " . ${$a};    // 輸出結果:hello world  echo $a . " " . $hello;    // 輸出結果:hello world  ?>

常數 在PHP中,常數的名稱一樣有大小寫之別,但是前頭不必加上「$」字元,因此,若將常數置於字串裡頭的話,將不會被系統所辨識出來。 可以使用 define( ) 函數來自定常數。  __FILE__:/home/chensh/php/A_4.php PHP_OS:FreeBSD PHP_VERSION:4.3.3