PHP動(dòng)態(tài)網(wǎng)站程序設(shè)計(jì)(第2版)教學(xué)課件全套_第1頁(yè)
PHP動(dòng)態(tài)網(wǎng)站程序設(shè)計(jì)(第2版)教學(xué)課件全套_第2頁(yè)
PHP動(dòng)態(tài)網(wǎng)站程序設(shè)計(jì)(第2版)教學(xué)課件全套_第3頁(yè)
PHP動(dòng)態(tài)網(wǎng)站程序設(shè)計(jì)(第2版)教學(xué)課件全套_第4頁(yè)
PHP動(dòng)態(tài)網(wǎng)站程序設(shè)計(jì)(第2版)教學(xué)課件全套_第5頁(yè)
已閱讀5頁(yè),還剩628頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PHP動(dòng)態(tài)網(wǎng)站程序設(shè)計(jì)(第2版)

唐四薪主編

1動(dòng)態(tài)網(wǎng)站概述.ppt2HTML.ppt3PHP基礎(chǔ).ppt4函數(shù)和面向?qū)ο?ppt5Web交互編程.ppt6MySQL數(shù)據(jù)庫(kù).ppt7PHP訪問(wèn)數(shù)據(jù)庫(kù).ppt8PHP文件訪問(wèn)技術(shù).pptAPHP實(shí)驗(yàn).ppt課程介紹課程名:Web動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)教材:《PHP動(dòng)態(tài)網(wǎng)站程序設(shè)計(jì)》學(xué)時(shí):48學(xué)時(shí)(講授32學(xué)時(shí)+上機(jī)16學(xué)時(shí))課程性質(zhì):必修 考試:閉卷,第20周課程基本要求目標(biāo):學(xué)會(huì)制作簡(jiǎn)單的動(dòng)態(tài)網(wǎng)站及各種功能模塊學(xué)習(xí)內(nèi)容:掌握PHP的基本語(yǔ)法和內(nèi)置函數(shù)、Web交互編程和PHP操作數(shù)據(jù)庫(kù)的方法授課內(nèi)容:第1、3、4、5、6、7、8章重點(diǎn):第3、4、5、7章為什么要學(xué)做網(wǎng)站企業(yè)宣傳展示的平臺(tái)企業(yè)與客戶交流的渠道開(kāi)展電子商務(wù)的主要平臺(tái)學(xué)習(xí)網(wǎng)站制作的過(guò)程HTMLCSSJavaScriptASPAjaxPHPJSP客戶端語(yǔ)言服務(wù)器端編程招聘網(wǎng)頁(yè)設(shè)計(jì)人員的要求能手工編寫代碼懂DIV+CSS布局(Web標(biāo)準(zhǔn))會(huì)PHP會(huì)Ajax摘自《電腦報(bào)》第1章動(dòng)態(tài)網(wǎng)站制作概述什么是動(dòng)態(tài)網(wǎng)站動(dòng)態(tài)網(wǎng)站是一種Web應(yīng)用程序特點(diǎn):使用HTTP協(xié)議作為通信協(xié)議,通過(guò)網(wǎng)絡(luò)讓瀏覽器與服務(wù)器進(jìn)行通信的計(jì)算機(jī)程序用戶網(wǎng)站進(jìn)行交互動(dòng)態(tài)網(wǎng)站可以做什么動(dòng)態(tài)生成HTML代碼顯示數(shù)據(jù)庫(kù)中的數(shù)據(jù)向數(shù)據(jù)表中添加數(shù)據(jù)查詢數(shù)據(jù)庫(kù)中的數(shù)據(jù)……動(dòng)態(tài)生成HTML代碼<html><body> <?for($i=3;$i<7;$i++){?> <p>第<?echo$i-2;?>次HelloWorld!</p><?}?></body></html>循環(huán)語(yǔ)句顯示數(shù)據(jù)庫(kù)中的數(shù)據(jù)<?=$row['title']?>向數(shù)據(jù)表中添加數(shù)據(jù)添加記錄的步驟瀏覽器Web服務(wù)器數(shù)據(jù)庫(kù)①連接數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)③執(zhí)行插入語(yǔ)句$title=$_POST["title"]②獲取數(shù)據(jù)mysql_query(“Insertinto……”)查詢數(shù)據(jù)庫(kù)中的數(shù)據(jù)提供一個(gè)表單供用戶輸入查詢關(guān)鍵字將用戶提交的關(guān)鍵字作為條件用Select語(yǔ)句進(jìn)行查詢將查詢的結(jié)果(返回的記錄集)顯示在網(wǎng)頁(yè)中。

軟件的結(jié)構(gòu)演變桌面軟件網(wǎng)絡(luò)軟件C/S結(jié)構(gòu)B/S結(jié)構(gòu)1.1.1B/S結(jié)構(gòu)和C/S結(jié)構(gòu)C/S(Client/Server),客戶機(jī)/服務(wù)器結(jié)構(gòu)B/S(Browser/Server),瀏覽器/服務(wù)器結(jié)構(gòu)

C/S結(jié)構(gòu)B/S結(jié)構(gòu)1.1.2動(dòng)態(tài)網(wǎng)站的組成和運(yùn)行Web應(yīng)用程序是一種B/S結(jié)構(gòu)的軟件①Web應(yīng)用程序是基于Web的,依賴于通用的Web瀏覽器來(lái)表現(xiàn)它的執(zhí)行結(jié)果②需要一臺(tái)Web服務(wù)器,在服務(wù)器上對(duì)數(shù)據(jù)進(jìn)行處理,并將處理結(jié)果生成網(wǎng)頁(yè)運(yùn)行Web應(yīng)用程序的要素Web服務(wù)器:響應(yīng)用戶提交的HTTP請(qǐng)求瀏覽器:解析HTML文件HTTP通信協(xié)議瀏覽器和服務(wù)器的作用瀏覽器Web服務(wù)器HTTP請(qǐng)求HTTP響應(yīng)瀏覽器和服務(wù)器也可以是一臺(tái)電腦上的兩個(gè)程序?yàn)g覽器發(fā)送HTTP請(qǐng)求的方式輸入網(wǎng)址提交表單1.2.1靜態(tài)網(wǎng)頁(yè)和動(dòng)態(tài)網(wǎng)頁(yè)靜態(tài)網(wǎng)頁(yè):是純粹的HTML頁(yè)面,網(wǎng)頁(yè)的內(nèi)容是固定的、不變的動(dòng)態(tài)網(wǎng)頁(yè):網(wǎng)頁(yè)中的內(nèi)容會(huì)根據(jù)用戶請(qǐng)求的不同而顯示不同的內(nèi)容網(wǎng)頁(yè)的類型靜態(tài)網(wǎng)頁(yè)采用HTML、CSS、JavaScript編寫的網(wǎng)頁(yè)。文件擴(kuò)展名是.htm或.html網(wǎng)頁(yè)動(dòng)態(tài)網(wǎng)頁(yè)采用PHP、JSP、

ASP、CGI程序

動(dòng)態(tài)生成的網(wǎng)頁(yè)。

文件擴(kuò)展名是.asp、.jsp、.php、.cgi等。靜態(tài)網(wǎng)頁(yè)的執(zhí)行過(guò)程瀏覽器InternetWeb服務(wù)器HTML文件HTML文件<html>……</html>網(wǎng)頁(yè)<html>……</html>為什么需要?jiǎng)討B(tài)網(wǎng)頁(yè)問(wèn)題:網(wǎng)站擁有的頁(yè)面非常多,怎么辦?如何實(shí)現(xiàn)與用戶的交互,如保存并顯示用戶的留言動(dòng)態(tài)網(wǎng)頁(yè)的執(zhí)行過(guò)程瀏覽器InternetWeb服務(wù)器PHP文件HTML代碼<?……?><html>……</html>網(wǎng)頁(yè)Web服務(wù)器對(duì)PHP進(jìn)行解釋執(zhí)行瀏覽器對(duì)HTML進(jìn)行解釋執(zhí)行PHP簡(jiǎn)介PHP,即“HypertextPreprocessor,超文本預(yù)處理器”,是一種服務(wù)器端的,跨平臺(tái)的、開(kāi)放源代碼的多用途腳本語(yǔ)言,可以嵌入到HTML中。由RasmusLerdorf在1994年發(fā)明世界編程語(yǔ)言排行榜PHP發(fā)展到今天,具備了很多優(yōu)勢(shì)。(1)易學(xué)好用(2)免費(fèi)開(kāi)源(3)良好的可擴(kuò)展性(4)平臺(tái)無(wú)關(guān)性(跨平臺(tái))(5)功能全面(6)數(shù)據(jù)庫(kù)支持(7)面向?qū)ο缶幊蘌HP的優(yōu)勢(shì)HTML內(nèi)嵌式的腳本語(yǔ)言

PHP腳本程序中可包含文本、HTML代碼以及PHP代碼。例如//這是我的第一個(gè)PHP程序:<br/><?echo"helloworld!";?><br/><?echodate("Y年m月d日H時(shí)i分s秒");?>

注意:PHP代碼通常以符號(hào)“<?”開(kāi)始,符號(hào)“?>”結(jié)束,這兩個(gè)符號(hào)叫做PHP的定界符。PHP程序文件名中的擴(kuò)展名通常使用“.php”,例如hello.php。關(guān)于Web服務(wù)器Web服務(wù)器主要是指一種軟件,它具有解釋執(zhí)行PHP代碼的功能PHP的Web服務(wù)器軟件是Apache要運(yùn)行PHP程序,必須先安裝Apache,這樣才能對(duì)PHP程序進(jìn)行解釋執(zhí)行提示:PHP文件不能通過(guò)雙擊文件直接用瀏覽器打開(kāi),因?yàn)檫@樣PHP代碼沒(méi)有經(jīng)過(guò)Web服務(wù)器的處理。學(xué)習(xí)動(dòng)態(tài)網(wǎng)站制作的基礎(chǔ)認(rèn)識(shí)文件夾和文件D:\test\DebugD:\test\Debug.htm練習(xí)5-3.php test.html D:\Appserv\www文件夾文件文件文件文件夾數(shù)據(jù)庫(kù)基礎(chǔ)熟悉SQL語(yǔ)句的書寫Selecttitle,datefromnews表名字段名HTML基礎(chǔ)需要認(rèn)識(shí)一些HTML標(biāo)記、屬性和屬性值1.3安裝PHP的運(yùn)行環(huán)境1.3安裝PHP的運(yùn)行環(huán)境AppServ的安裝AppServ2.5.9Apache2.2PHP5.1MySQL5phpMyAdmin圖1-9選擇安裝位置圖1-10選擇安裝組件圖1-11Apache服務(wù)器信息的配置配置MySQL數(shù)據(jù)庫(kù)服務(wù)器測(cè)試AppServ是否安裝成功AppServ的安裝目錄phpMyAdmin的用戶登錄框用戶名是root、密碼是111phpMyAdmin的操作界面1.新建第一個(gè)PHP程序2.運(yùn)行PHP文件①http://localhost/1-1.php查看

源代碼http://localhost/1-1.asp關(guān)于http://localhosthttp://localhost 本機(jī)網(wǎng)站的主目錄 d:\web即Apache的主目錄本機(jī)域名網(wǎng)站域名主目錄1對(duì)11對(duì)11對(duì)1D:\AppServ\www域名與主目錄的關(guān)系練習(xí)設(shè)Apache的主目錄為D:\AppServ\www

則要運(yùn)行

D:\AppServ\www\abc.php

D:\AppServ\www\ab\ab.php

D:\AppServ\abc.php

應(yīng)在地址欄輸入什么URL?將主目錄替換成域名http://localhost即可關(guān)于http://localhost設(shè)Apache的主目錄為D:\wwwhttp://localhost/admin/admin.php

打開(kāi)的是:http://localhost/admin.php

打開(kāi)的是:如果Apache的主目錄是F:\tes\web呢域名與主目錄的關(guān)系練習(xí) d:\web

師院的域名 師院網(wǎng)站的主目錄/index.jsp打開(kāi)的是?/web/19155459171.html

打開(kāi)的是?怎樣訪問(wèn):d:\web\web\ttt.html?運(yùn)行PHP程序的步驟總結(jié)1.3.3Apache的配置主目錄的設(shè)置默認(rèn)文檔的設(shè)置虛擬目錄的創(chuàng)建和訪問(wèn)默認(rèn)端口的修改httpd.conf文件,是Apache的配置文件

修改httpd.conf1.主目錄的設(shè)置httpd.conf文件的第240行。將:DocumentRoot"D:/AppServ/www"修改為:DocumentRoot"E:/Web"httpd.conf文件的第268行。將:<Directory"D:/AppServ/www">修改為:<Directory"E:/Web">保存文件后,再重啟Apache才能使設(shè)置生效2.默認(rèn)文檔的設(shè)置所謂默認(rèn)文檔,就是指網(wǎng)站的主頁(yè)(首頁(yè))在httpd.conf文件的第303行中<IfModuledir_module>DirectoryIndexindex.phpindex.htmlindex.htm</IfModule>虛擬目錄的作用什么時(shí)候需要虛擬目錄部署多個(gè)網(wǎng)站時(shí)如果要部署多個(gè)網(wǎng)站,可以將一個(gè)網(wǎng)站的目錄設(shè)置為Apache的主目錄,將其他每個(gè)網(wǎng)站的目錄都設(shè)置為虛擬目錄。這樣,每個(gè)網(wǎng)站相當(dāng)于一個(gè)獨(dú)立的應(yīng)用程序(Application),就不會(huì)發(fā)生這個(gè)網(wǎng)站修改了別的網(wǎng)站公共變量(如Session變量)的情況

虛擬目錄的創(chuàng)建和訪問(wèn)找到httpd.conf文件的第360行,在:<IfModulealias_module>后添加一段:Alias"/eshop""E:\eshop"<Directory"E:\eshop">Options-IndexesFollowSymLinksAllowOverrideNoneorderallow,denyAllowfromall</Directory>訪問(wèn)虛擬目錄下的文件要運(yùn)行E:\eshop\admin目錄下的index.php文件

(”E:\eshop”對(duì)應(yīng)虛擬目錄”eshop”)http://localhost/eshop/admin/index.php本機(jī)域名虛擬目錄名路徑和文件名默認(rèn)端口的修改在httpd.conf文件的67行。將:Listen80改為:Listen88以后訪問(wèn)網(wǎng)站主目錄就必須使用“域名:端口”的形式(如http://localhost:88)實(shí)驗(yàn):部署一個(gè)網(wǎng)站步驟:將網(wǎng)站壓縮文件解壓到一個(gè)目錄中將該目錄設(shè)置為網(wǎng)站主目錄1.3.5配置DW開(kāi)發(fā)PHP程序Dreamweaver對(duì)開(kāi)發(fā)PHP程序有很好地支持,包括代碼提示,自動(dòng)插入PHP代碼等使開(kāi)發(fā)人員能在同一個(gè)軟件環(huán)境中制作靜態(tài)網(wǎng)頁(yè)和動(dòng)態(tài)程序新建站點(diǎn)的步驟(演示)新建動(dòng)態(tài)站點(diǎn)第一步(訪問(wèn)網(wǎng)站的URL)第二步(選擇服務(wù)器技術(shù))第三步(設(shè)置站點(diǎn)主目錄)第四步站點(diǎn)文件面板1.4.1Web編程語(yǔ)言CGI:最早能夠動(dòng)態(tài)生成HTML頁(yè)面的技術(shù)PHP:1994年,RasmusLerdorf發(fā)明ASP:1996年,Microsoft公司推出了ASP1.0JSP:1997~1998年,SUN公司相繼推出了Servlet技術(shù)和JSP(JavaServerPages)技術(shù)

ASP.NET:2002年,Microsoft公司正式發(fā)布了.NETFrameWork和VisualStudio.NET動(dòng)態(tài)網(wǎng)頁(yè)與Web服務(wù)器ASPASP.NetPHPJSPWeb服務(wù)器IISIISApacheTomcat運(yùn)行方式解釋執(zhí)行預(yù)編譯解釋執(zhí)行預(yù)編譯跨平臺(tái)性Windows平臺(tái)Windows平臺(tái)任何平臺(tái)任何平臺(tái)文件擴(kuò)展名.asp.aspx.php.jsp1.5Web編程的新趨勢(shì)傳統(tǒng)Web應(yīng)用的不足獨(dú)占式的請(qǐng)求頻繁的頁(yè)面刷新簡(jiǎn)略的用戶交互界面Web編程的新技術(shù)Ajax技術(shù)Microsoft的Silverlight技術(shù)Adobe公司的Flash/Flex技術(shù)Ajax技術(shù)的特點(diǎn)不屬于任何軟件廠商,代表一種開(kāi)源風(fēng)格不是一種編程語(yǔ)言,幾種技術(shù)結(jié)合的新應(yīng)用采用的大部分都是早已存在的技術(shù)基于現(xiàn)有的瀏覽器,不需要安裝任何的插件,因此兼容性最好習(xí)題3.以下哪種技術(shù)不是服務(wù)器端動(dòng)態(tài)網(wǎng)頁(yè)技術(shù) A.PHP B.JSP C.ASP.NET D.Ajax4.配置MySQL服務(wù)器時(shí),需要設(shè)置一個(gè)管理員賬號(hào),其名稱是( )

A.admin B.root

C.sa D.Administrator5.如果Apache的網(wǎng)站主目錄是E:\eshop,并且沒(méi)有建立任何虛擬目錄,則在瀏覽器地址欄中輸入http://localhost/admin/admin.php將打開(kāi)的文件是:習(xí)題6.PHP的配置文件是

,Apache的配置文件是

。7.如果Apache的網(wǎng)站主目錄是E:\eshop,要運(yùn)行E:\eshop\abc\rs\123.php文件,則應(yīng)在瀏覽器地址欄中輸入

,如果E:\eshop是虛擬目錄eshop,則要運(yùn)行E:\eshop\eshop.php文件,應(yīng)在瀏覽器地址欄中輸入

有一個(gè)PHP文件,存放在D:\AppServ\www目錄下,請(qǐng)問(wèn)如果在“我的電腦”中雙擊該P(yáng)HP文件,該文件可以運(yùn)行嗎?PHP動(dòng)態(tài)網(wǎng)站程序設(shè)計(jì)(第2版)

唐四薪主編

人民郵電出版社 ISBN:978-7-115-50524-82020年3月第2章HTMLHTML文檔的基本結(jié)構(gòu)HTML標(biāo)記(Tags)標(biāo)記是HTML文檔中一些有特定意義的符號(hào),這些符號(hào)指明內(nèi)容的含義或結(jié)構(gòu)。標(biāo)記總是放在三角括號(hào)中,大多數(shù)標(biāo)記都是成對(duì)出現(xiàn)的,表示開(kāi)始和結(jié)束。<b>受標(biāo)記影響的內(nèi)容</b>標(biāo)記名稱起始標(biāo)記結(jié)束標(biāo)記帶有屬性的HTML標(biāo)記的結(jié)構(gòu)

/>例2找出下面html代碼的錯(cuò)誤下列HTML元素的寫法錯(cuò)在什么地方?<img"birthday.jpg"/><i>Congratulations!<i><ahref="file.html">linkedtext</ahref="file.html"><p>Thisisanewparagraph<\p><li>Thelistitem</li>HTML標(biāo)記的分類為便于記憶,可將標(biāo)記按出現(xiàn)的情況分為:雙標(biāo)記:大部分標(biāo)記都是雙標(biāo)記單標(biāo)記:<br/>,<hr/>,<img/>,<input/>,<meta/>,<link/>成組標(biāo)記:table,form,ul,ol,dl,frameset,fieldset及其子標(biāo)記等HTML標(biāo)記(續(xù))雙標(biāo)記語(yǔ)法:<標(biāo)記>受標(biāo)記影響的內(nèi)容</標(biāo)記>例:<p>制作網(wǎng)頁(yè)是我的愛(ài)好。</p><h1align=“center”>衡陽(yáng)師范學(xué)院</h1><ahref=“/”>衡陽(yáng)師院</a>HTML標(biāo)記(續(xù))單標(biāo)記語(yǔ)法:<標(biāo)記/>例:<linkhref=“style/basic.css”type=“text/css”/><br/><imgsrc=“images/logo.gif”alt=“彩虹科技”width=“200”height=“125”/><inputname=“username”type=“text”id=“username”size=“10”/>HTML元素的概念和分類把HTML標(biāo)記(如<p>…</p>)和標(biāo)記之間的內(nèi)容組合稱為HTML元素

1.根據(jù)元素有無(wú)內(nèi)容分類“有內(nèi)容的元素”是由起始標(biāo)記、結(jié)束標(biāo)記和兩者之間的內(nèi)容組成,其中元素內(nèi)容既可以是文字內(nèi)容,也可以是其他元素。“空元素”則只有起始標(biāo)記而沒(méi)有結(jié)束標(biāo)記和元素內(nèi)容,可見(jiàn)“空元素”對(duì)應(yīng)單標(biāo)記2.根據(jù)元素的排列方式分類行內(nèi)元素(inline)是指元素與元素之間從左到右并排排列,只有當(dāng)瀏覽器窗口容納不下才會(huì)轉(zhuǎn)到下一行塊級(jí)元素(block)是指每個(gè)元素占據(jù)瀏覽器一整行位置,塊級(jí)元素與塊級(jí)元素之間自動(dòng)換行,從上到下排列。2.2.3文本格式標(biāo)記1)段落標(biāo)記

<p>這是一段文本</p>2)標(biāo)題標(biāo)記<h1>這是文章的一級(jí)標(biāo)題</h1>3)換行標(biāo)記<br/>例:春天<br/>來(lái)臨,又到了播種耕種的季節(jié)2.2.3文本格式標(biāo)記(續(xù))align屬性<palign=“center”>這將居中顯示</p>文本中的字符實(shí)體

“ ”表示空格,“<”代表符號(hào)“<”,“>”代表符號(hào)“>”列表標(biāo)記無(wú)序列表<ul>,<li>

<ul><li>CSS教程</li> <li>DOM教程</li><li>XML教程</li></ul>有序列表<ol>,<li>定義列表<dl>,<dt>,<dd>

2.2.5圖像標(biāo)記<img><imgsrc="images/info.gif"width="158"height="41"align="left"alt="公告"/>屬性含義src圖片文件的URL地址alt當(dāng)圖片無(wú)法顯示時(shí)顯示的替代文字title鼠標(biāo)停留在圖片上時(shí)顯示的說(shuō)明文字align圖片的對(duì)齊方式,共有9種取值width、height圖片在網(wǎng)頁(yè)中的寬和高,單位為像素或百分比2.2.6超鏈接標(biāo)記<a><ahref=""target="_blank"title="百度網(wǎng)站">百度</a>屬性名說(shuō)明屬性值href超鏈接的URL路徑相對(duì)路徑或絕對(duì)路徑、Email、#錨點(diǎn)名target超鏈接的打開(kāi)方式_blank:在新窗口打開(kāi);_self:在當(dāng)前窗口打開(kāi),默認(rèn)值_parent:在當(dāng)前窗口的父窗口打開(kāi)_top:在整個(gè)瀏覽器窗口打開(kāi)鏈接窗口或框架名title提示文字屬性值是任何字符串超鏈接的種類-根據(jù)源對(duì)象劃分1)用文本做超鏈接:

<ahref="index.htm"target="_blank">首頁(yè)</a>2)用圖像做超鏈接:<ahref="index.htm"><imgsrc="images/info.gif"title="返回首頁(yè)"border="0"/></a>使用圖像做超鏈接后,圖像會(huì)自動(dòng)增加邊框,可設(shè)置邊框?yàn)?去掉熱區(qū)鏈接熱區(qū)鏈接:使用<map>在圖像上定義一幅地圖,地圖上可包含多個(gè)熱區(qū),每個(gè)熱區(qū)用<area>單標(biāo)記定義2.3表格標(biāo)記<table>、<tr>、<td>是表格中最基本的標(biāo)記表格由<table>標(biāo)記定義行由<tr>標(biāo)記定義每行又被分成許多個(gè)單元格<td>表格中的單元格能容納網(wǎng)頁(yè)中的任何元素,如圖像,文本,列表,表單,表格等。下面這段代碼在瀏覽器中如何顯示<tableborder="1"> <tr> <td>row1,cell1</td> <td>row1,cell2</td> </tr> <tr> <td>row2,cell1</td> <td>row2,cell2</td> </tr></table>2.3.3單元格的合并屬性<tdrowspan="3">課程表</td><tdcolspan="2">星期一</td>看代碼畫表格<tablewidth="266"height="127"border="1"><tr> <td></td> <tdrowspan="2"></td></tr><tr> <td></td></tr></table>網(wǎng)頁(yè)中表單的作用表單主要功能:提供用戶輸入的界面,并提交瀏覽者填寫的信息給服務(wù)器。網(wǎng)頁(yè)中的表單用戶注冊(cè)表單提交搜索表單用戶登錄表單Web應(yīng)用程序訪問(wèn)者將表單數(shù)據(jù)提交給服務(wù)器處理保存提交的數(shù)據(jù)或?qū)μ峤坏臄?shù)據(jù)進(jìn)行查詢Web應(yīng)用程序?qū)Ρ韱芜M(jìn)行處理表單代碼的組成<form……>

用戶:<inputtype="text"……><inputtype="submit"value="登陸"></form>一個(gè)表單的代碼至少應(yīng)包括3個(gè)組成部分:

(1)表單<form>標(biāo)記:

(2)表單元素(如<input>標(biāo)記):例如文本框、下拉菜單、復(fù)選框和單選框等。

(3)提交按鈕(如<input>標(biāo)記):用來(lái)提交數(shù)據(jù)表單代碼中常見(jiàn)的錯(cuò)誤沒(méi)有<form>標(biāo)記一個(gè)表單出現(xiàn)多個(gè)<form>標(biāo)記多個(gè)<form>標(biāo)記嵌套這些錯(cuò)誤會(huì)使表單無(wú)法提交數(shù)據(jù)表單標(biāo)記<form><form></form>標(biāo)記用來(lái)創(chuàng)建一個(gè)表單域,即定義表單的開(kāi)始和結(jié)束位置,這一標(biāo)記有幾方面的作用。第一,限定表單的范圍。第二方面,攜帶表單的相關(guān)信息,例如處理表單的腳本程序的位置(action)、提交表單的方法(method)等。GET和POST方式提交表單<formmethod=“get"action="5-7.php">

用戶名:<inputtype="text"name="userName">

密碼:<inputtype="text"name="PS"size="10"><inputtype="submit"value="登陸"></form>http://localhost/5.php?userName=tang&PS=123http://localhost/5.phpGET方式POST方式POSTform標(biāo)記常見(jiàn)屬性actionaction:接一個(gè)動(dòng)態(tài)網(wǎng)頁(yè)名<formmethod=“post"action="4-2.php">設(shè)置action屬性后會(huì)產(chǎn)生兩個(gè)作用:1點(diǎn)擊該表單的提交按鈕將會(huì)鏈接到該網(wǎng)頁(yè)2同時(shí)還會(huì)將表單中輸入的數(shù)據(jù)發(fā)送給該網(wǎng)頁(yè)進(jìn)行處理如果將action屬性值設(shè)置為空將由當(dāng)前網(wǎng)頁(yè)對(duì)提交數(shù)據(jù)進(jìn)行處理form標(biāo)記的屬性面板nametargetmethodactionenctype表單中的元素DW中表單對(duì)象與標(biāo)記的對(duì)應(yīng)關(guān)系表單域form標(biāo)記中包含的表單標(biāo)記主要有input,select(option),textarea等在DW中表單對(duì)象面板中的對(duì)象與這些標(biāo)記的對(duì)應(yīng)關(guān)系是:input-表單元素的通用標(biāo)記input標(biāo)記是收集用戶輸入信息的標(biāo)記,是一個(gè)單標(biāo)記,其含義由type屬性決定。input標(biāo)記的必備屬性(必須具有的屬性)name:表單元素的名稱,由于表單中通常有很多表單元素,服務(wù)器要根據(jù)name屬性獲取相應(yīng)元素的內(nèi)容。type:確定input標(biāo)記的含義其他常見(jiàn)屬性value(input標(biāo)記的取值)

size:文本域的寬度input-type屬性的取值input標(biāo)記的type屬性總共有10種取值,含義如表1所示:type屬性值描述text文本域password密碼域file文件域checkbox復(fù)選框radio單選框button普通按鈕submit提交按鈕reset重置按鈕hidden隱藏域image圖像域(圖像按鈕)文本域type="text"文本域舉例:查詢:<inputtype="text"name="seach"size=20onfocus="this.value=''"value="請(qǐng)輸入關(guān)鍵字"/>input標(biāo)記中的size屬性是定義文本域的寬度文本域?qū)僦得枋鰊ame或id文本域的名稱或idmaxlength文本域的最大輸入字符數(shù)size文本域的寬度value文本域的默認(rèn)值單選框type=“radio”單選框舉例:<inputtype=“radio”name=“gender”value=“F”/>女性<inputtype="radio"name="gender"value="M"checked="checked"/>男性checked屬性設(shè)定初始時(shí)單選按鈕哪項(xiàng)處于選定狀態(tài),同一組單選按鈕name屬性的值必須相同,這樣這一組單選框中只有一個(gè)能被選中。

復(fù)選框type=“checkbox”復(fù)選框,可以選中多項(xiàng)<inputname=“checkbox”type=“checkbox”value=“1”checked=“checked”/>看書<inputname=“checkbox2”type=“checkbox”value=“2”/>上網(wǎng)<inputtype="checkbox"name="checkbox3"value=“3"/>聽(tīng)音樂(lè)文件域type="file"

<inputtype="file"name=“upfile"/>供上傳文件用,需要服務(wù)器端的上傳組件配合文件域?qū)Ρ韱螛?biāo)記form有特殊要求,method必須設(shè)為post,MIME類型必須為multipart/form-data按鈕提交按鈕(type="submit")將表單中所有具有name屬性的元素內(nèi)容發(fā)送到服務(wù)器端指定的應(yīng)用程序重置按鈕(type="reset")用戶在填寫表單時(shí),若希望重新填寫,單擊該按鈕將使全部表單元素的值還原為初始值普通按鈕(type="button")該按鈕沒(méi)有內(nèi)在行為,但可用javascript為其指定動(dòng)作圖像域type="image"

即圖像按鈕,用一張圖片做按鈕,功能和提交按鈕相同<inputtype="image"name=“tijiao"src="images/yjt.gif"/>

下拉菜單<select>和<option>標(biāo)記

<select>標(biāo)記是下拉菜單框或列表框標(biāo)記,是一個(gè)標(biāo)記的含義由其size屬性決定的元素,如果該標(biāo)記沒(méi)有設(shè)置size屬性,那么表示為下拉菜單框,如果設(shè)置了size屬性,則變成了列表框。下列列表框中的每一項(xiàng)由<option>標(biāo)記定義。例如:你的籍貫:<selectname="select"id="select"size="3"><optionvalue="1">湖南</option><optionvalue="2">廣東</option><optionvalue="3">江蘇</option><optionvalue="4">四川</option></select>去掉size屬性后多行文本域標(biāo)記<textarea><textarea>是多行文本域標(biāo)記,用于讓瀏覽者輸入多行文本,如發(fā)表評(píng)論或留言,跟帖。<textareaname="comments"cols="40"rows="4"wrap="virtual">這是一個(gè)有4行,每行可容納40個(gè)字符,換行方式為虛擬的多行文本域。</textarea>下面的表單元素代碼都有錯(cuò)誤,你能指出它們分別錯(cuò)在哪里嗎?①<inputname="country"value="Yourcountryhere."/>②<checkboxname="color"value="teal"/>③<inputtype="password"value="pwd"/>④<textareaname="essay"height="6"width="100">Yourstory.</textarea>⑤<selectname="popsicle"> <optionvalue="orange"/> <optionvalue="grape"/> <optionvalue="cherry"/></select>一、什么是XHTMLXHTML是英文ExtensibleHyperTextMarkupLanguage的縮寫,中文意思是“可擴(kuò)展超文本標(biāo)記語(yǔ)言”。XHTML1.0是以XML1.0的語(yǔ)法規(guī)范對(duì)HTML4.0的改進(jìn)。XHTML是用于描述網(wǎng)頁(yè)結(jié)構(gòu)的標(biāo)準(zhǔn)語(yǔ)言。它不建議使用HTML中一些過(guò)時(shí)的描述表現(xiàn)的HTML標(biāo)記和屬性,對(duì)代碼的書寫要求也更加嚴(yán)謹(jǐn)二、XHTML文檔的類型XHTML1.0分為三種文檔類型XHTML1.0Transitional(過(guò)渡的)允許使用表現(xiàn)層的標(biāo)記和屬性,但要符合XHTML的語(yǔ)法。XHTML1.0Strict(嚴(yán)格的)不允許使用任何表現(xiàn)層的標(biāo)記和屬性。XHTML1.0Frameset(框架的)用于框架結(jié)構(gòu)的網(wǎng)頁(yè)。三、DOCTYPE(文檔類型聲明)DOCTYPE聲明是(X)HTML文檔開(kāi)頭處的一行或兩行代碼,用于告知瀏覽器(X)HTML是哪個(gè)版本。<!DOCTYPEhtmlPUBLIC“-//W3C//DTDXHTML1.0Transitional//EN”“/TR/xhtml1/DTD/xhtml1-transitional.dtd”><!DOCTYPEhtmlPUBLIC“-//W3C//DTDXHTML1.0Strict//EN”

“/TR/xhtml1/DTD/xhtml1-strict.dtd”><!DOCTYPEhtmlPUBLIC“-//W3C//DTDXHTML1.0Frameset//EN”

“/TR/xhtml1/DTD/xhtml1-frameset.dtd”>XHTML語(yǔ)法標(biāo)記名稱與小于號(hào)之間不能留有空格。<p>歡迎光臨我的文學(xué)小屋!</p><p>歡迎光臨我的文學(xué)小屋!</p>

正確:標(biāo)記名稱與小于號(hào)之間無(wú)空格錯(cuò)誤:標(biāo)記名稱與小于號(hào)之間有空格XHTML語(yǔ)法標(biāo)記和屬性的名稱都必須使用小寫。<IMGsrc=“images/logo.gif”alt=“彩虹科技”width=“200”height=“125”/><imgsrc=“images/logo.gif”alt=“彩虹科技”width=“200”height=“125”/>正確:標(biāo)記和屬性的名稱使用小寫錯(cuò)誤:標(biāo)記名稱使用大寫<imgsrc=“images/logo.gif”alt=“彩虹科技”WIDTH=“200”height=“125”/>錯(cuò)誤:屬性名稱使用大寫XHTML語(yǔ)法屬性值必須使用雙引號(hào)。<ahref=index.html>首頁(yè)</a><ahref=“index.html”>首頁(yè)</a>

正確:屬性值使用雙引號(hào)錯(cuò)誤:屬性值不使用雙引號(hào)XHTML語(yǔ)法

標(biāo)記被正確的嵌套使用。<p>《登鸛雀樓》是唐朝<em>王之渙</p>的詩(shī)。</em><p>《登鸛雀樓》是唐朝<em>王之渙</em>的詩(shī)。</p>正確:標(biāo)記嵌套錯(cuò)誤:標(biāo)記交疊XHTML語(yǔ)法關(guān)閉雙標(biāo)記。<p>歡迎光臨文學(xué)小屋!<p>以下是最新作品。

<p>歡迎光臨文學(xué)小屋!</p><p>以下是最新作品。</p>

正確:關(guān)閉標(biāo)記錯(cuò)誤:未關(guān)閉標(biāo)記XHTML語(yǔ)法關(guān)閉單標(biāo)記。<br><br/>正確:關(guān)閉標(biāo)記錯(cuò)誤:未關(guān)閉標(biāo)記XHTML語(yǔ)法屬性不能被縮減。<inputtype=“checkbox”

id=“music”name=“interests”checked/><inputtype=“checkbox”

id=“music”name=“interests”checked=“checked”/>正確:完整描述屬性錯(cuò)誤:縮減屬性2.6CSS基礎(chǔ)

CSS樣式規(guī)則的組成-選擇器一條CSS樣式規(guī)則由選擇器(selector)和聲明(declarations)組成。選擇器是為了選中網(wǎng)頁(yè)中某些元素的,選擇器可以是一個(gè)標(biāo)記名,表示將網(wǎng)頁(yè)中該標(biāo)記的所有元素都選中h1color:red;font-size:25px;{}選擇器屬性值屬性值聲明聲明最常用的CSS屬性CSS屬性含義舉例font-size字體大小font-size:14px;color字體顏色color:red;line-height行高line-height:160%;text-decoration文本修飾(如增刪下劃線)text-decoration:none;text-indent文本縮進(jìn)text-indent:2em;background-color背景顏色background-color:#ffeeaa;在HTML中引入CSS的方法HTML和CSS是兩種作用不同的語(yǔ)言,必須通過(guò)一些方法,將CSS與HTML掛接在一起,才能正常工作。在HTML中,引入CSS的方法有行內(nèi)式嵌入式導(dǎo)入式鏈接式行內(nèi)式html標(biāo)記都有一個(gè)通用的style屬性,行內(nèi)式就是在該屬性內(nèi)添加CSS屬性和值,如:<tdstyle="color:#FF9999;text-decoration:underline"width="88%">嵌入式<head><styletype="text/css">

h1{color:red;font-size:25px;}</style></head>鏈接式鏈接式是在網(wǎng)頁(yè)文檔頭部通過(guò)<link>標(biāo)記引入外部CSS文件,格式如下:<linkhref="style1.css"rel="stylesheet"type="text/css"/>導(dǎo)入式導(dǎo)入式是通過(guò)CSS規(guī)則中的@import指令來(lái)導(dǎo)入外部CSS文件<styletype="text/css">@importurl("style2.css");</style>鏈接式和導(dǎo)入式的比較鏈接式和導(dǎo)入式的目的都是將一個(gè)獨(dú)立的CSS文件引入到HTML文件,其優(yōu)點(diǎn)是可以讓很多個(gè)網(wǎng)頁(yè)共享一個(gè)CSS文件,在制作網(wǎng)站時(shí)主要應(yīng)采用鏈接式方法引入CSS,使網(wǎng)站內(nèi)的所有網(wǎng)頁(yè)風(fēng)格統(tǒng)一。鏈接式和導(dǎo)入式最大的區(qū)別在于鏈接式使用HTML的標(biāo)記引入外部CSS文件,而導(dǎo)入式則是用CSS的規(guī)則引入外部CSS文件,因此它們的語(yǔ)法不同CSS選擇器的分類標(biāo)記選擇器類選擇器id選擇器偽類選擇器標(biāo)記選擇器標(biāo)記選擇器將擁有同一個(gè)標(biāo)記的所有元素全部選中。如:<styletype="text/css">

p{ /*標(biāo)記選擇器*/ color:blue; font-size:18px; }</style>類選擇器.class1color:green;font-size:20px;{}類選擇器屬性值屬性值聲明聲明類名<styletype="text/css">.one{color:red; /*紅色*/}.two{font-size:20px; /*文字大小*/}</style><p>選擇器之標(biāo)記選擇器1</p><pclass="one">應(yīng)用第一種class選擇器樣式</p><pclass="two">應(yīng)用第二種class選擇器樣式</p><pclass="onetwo">同時(shí)應(yīng)兩種class選擇器樣式</p><h3class="two">h3同樣適用</h3>

id選擇器id選擇器以半角“#”開(kāi)頭,且id名稱的第一個(gè)字母不能為數(shù)字

#id1color:red;font-size:30px;{}ID選擇器屬性值屬性值聲明聲明ID選擇器<styletype="text/css">#one{font-weight:bold; /*粗體*/}#two{font-size:30px; /*字體大小*/color:#009900; /*顏色*/}</style><pid="one">ID選擇器1</p><pid="two">ID選擇器2</p><pid="two">ID選擇器3</p><pid="onetwo">ID選擇器3</p>偽類選擇器所謂偽類就是指元素在某個(gè)時(shí)候的狀態(tài)。網(wǎng)頁(yè)中的鏈接標(biāo)記能響應(yīng)瀏覽者的點(diǎn)擊。a標(biāo)記有四種狀態(tài)能描述這種響應(yīng),分別是a:link、a:visited、a:hover、a:active,偽類選擇器的標(biāo)記和偽類之間用“:”隔開(kāi)。a:hovercolor:green;font-size:20px;{}標(biāo)記名屬性值屬性值聲明聲明偽類名通過(guò)偽類選擇器制作動(dòng)態(tài)超鏈接偽類選擇器可以看成是一種特殊的標(biāo)記選擇器,它用來(lái)選中在某種狀態(tài)下的標(biāo)記可以定義<a>標(biāo)記在四種不同的狀態(tài)下具有不同的顏色,是否有下劃線。

一、偽類選擇器的書寫應(yīng)遵循LVHA的順序,即出現(xiàn)的順序應(yīng)為a:link→a:visited→a:hover→a:active。

二、各種偽類選擇器將繼承a標(biāo)記選擇器定義的樣式。CSS的盒子模型CSS的盒子模型每個(gè)HTML元素都可以看作是一個(gè)裝了東西的盒子盒子里面的內(nèi)容到盒子的邊框之間的距離即填充(padding),盒子本身有邊框(border),而盒子邊框外和其它盒子之間,還有邊界(magin),如圖所示默認(rèn)情況下盒子的邊框是無(wú),背景色是透明,所以我們?cè)谀J(rèn)情況下看不到盒子contentpadding-toppadding-bottompadding-leftpadding-rightborder-topborder-bottomborder-rightborder-leftmargin-rightmargin-leftmargin-topmargin-bottomwidthheight邊框border屬性盒子模型的margin和padding屬性比較簡(jiǎn)單,只能設(shè)置寬度值,最多分別對(duì)上、右、下、左設(shè)置寬度值。而邊框border則可以設(shè)置寬度、顏色和樣式。分別是border-width(寬度)、border-color(顏色)和border-style(樣式)其中border-style屬性可以將邊框設(shè)置為實(shí)線(solid)、虛線(dashed)、點(diǎn)劃線(dotted)、雙線(double)等效果邊框border屬性邊框border屬性有個(gè)有趣的特點(diǎn),即兩條交匯的邊框之間是一個(gè)斜角,我們可以通過(guò)為邊框設(shè)置不同的顏色,再利用這個(gè)斜角,制作出像三角形一樣的效果

內(nèi)容填充padding屬性填充padding屬性,也稱為盒子的內(nèi)邊距。就是盒子邊框到內(nèi)容之間的距離,和表格的填充屬性(cellpadding)比較相似。如果填充屬性為0,則盒子的邊框會(huì)緊挨著內(nèi)容,這樣通常不美觀。當(dāng)對(duì)盒子設(shè)置了背景顏色或背景圖像后,那么背景會(huì)覆蓋padding和內(nèi)容組成的范圍,并且默認(rèn)情況下背景圖像是以padding的左上角為基準(zhǔn)點(diǎn)在盒子中平鋪的盒子模型的特性邊界值margin可為負(fù),填充padding不可為負(fù)邊框border默認(rèn)值為0,即不顯示行內(nèi)元素,如a,定義上下邊界不影響行高對(duì)盒子模型的思考邊框是實(shí)的,我們可以看到實(shí)實(shí)在在的邊框,而填充和邊界都是虛的,我們只能看到他們對(duì)元素的影響盒子模型中只能設(shè)置兩類顏色,即邊框顏色和背景顏色盒子模型可設(shè)置三類距離,即邊界距margin,填充距padding和邊框值border屬性值的簡(jiǎn)寫形式

問(wèn)題:padding:6px10px4px;左填充是多少?答案:如果給出2個(gè)屬性值,前者表示上下邊框的屬性,后者表示左右邊框的屬性;如果給出3個(gè)屬性值,前者表示上邊框的屬性,中間的數(shù)值表示左右邊框的屬性,后者表示下邊框的屬性;如果給出4個(gè)屬性值,依次表示上、右、下、左邊框的屬性,即順時(shí)針排序。各種元素盒子屬性的默認(rèn)值大部分html元素的盒子屬性(margin,padding)默認(rèn)值都為0;有少數(shù)html元素的(margin,padding)瀏覽器默認(rèn)值不為0,例如:body,p,ul,li,form標(biāo)記等,因此我們有時(shí)有必要先設(shè)置它們的這些屬性為0。input元素的邊框?qū)傩阅J(rèn)不為0,可以設(shè)置它為0達(dá)到美化表單中輸入框和按鈕的目的。PHP動(dòng)態(tài)網(wǎng)站程序設(shè)計(jì)(第2版)

唐四薪主編

人民郵電出版社 ISBN:978-7-115-50524-82020年3月第3章PHP基礎(chǔ)PHP的語(yǔ)法PHP是一種類C語(yǔ)言?;旌狭薈、Java、Perl語(yǔ)言的特點(diǎn)。VBCJavaPHPASPPHP文件代碼可包含如下三部分內(nèi)容

HTML和CSS;客戶端腳本,位于<script></script>之間;服務(wù)器端腳本,位于“<?”與“?>”之間“<?”和“?>”:定界符,表示腳本的開(kāi)始和結(jié)束PHP代碼的基本格式簡(jiǎn)單PHP程序示例以h1標(biāo)題的形式輸出當(dāng)前日期和時(shí)間。<h1><?echo'現(xiàn)在是'.date("Y年m月d日H:i:s");?></h1>輸出函數(shù)時(shí)間日期函數(shù)在網(wǎng)頁(yè)上輸出不同大小的字體<html><body> <?echo'<p>PHP代碼和HTML代碼可相互嵌套</p>';for($i=3;$i<7;$i++){?>

<fontsize="<?echo$i;?>">第<?echo$i-2;?>次HelloWorld!</font><br/><?}?></body></html>HTML代碼嵌入在PHP代碼中PHP代碼嵌入在HTML代碼中PHP代碼嵌入在HTML代碼中變量運(yùn)行結(jié)果用PHP程序輸出HTML代碼3-3.php<html><body><p>PHP代碼和HTML代碼可相互嵌套</p><?for($i=3;$i<7;$i++){ echo'<fontsize='.$i.'>第'.($i-2).'次HelloWorld!</font><br/>';}?></body></html>用PHP輸出JavaScript代碼<? $str1="Hello"; $str2="startPHP"; echo"<script>";echo"alert('".$str1."');"; echo"</script>"; ?><inputtype="text"name="tx"size=20value="<?echo$str1;?>"><inputtype="button"value="單擊"onclick="tx.value='<?echo$str2;?>'">輸出JavaScript腳本PHP代碼的4種風(fēng)格(1)XML風(fēng)格這種風(fēng)格的定界符是“<?php”和“?>”(2)簡(jiǎn)短風(fēng)格簡(jiǎn)短風(fēng)格的定界符是“<?”和“?>”。(3)腳本風(fēng)格:<scriptlanguage='php'>echo'現(xiàn)在是';</script>(4)ASP風(fēng)格這種風(fēng)格的PHP定界符是“<%”和“%>”PHP代碼的注釋(1)單行注釋(//或#)(2)多行注釋(/*…*/)編寫PHP程序的注意事項(xiàng)PHP是一種區(qū)分大小寫的語(yǔ)言,表現(xiàn)在:①PHP中的變量和常量名是區(qū)分大小寫的,②但PHP中的類名和方法名,以及一些關(guān)鍵字(如echo,for)都不區(qū)分大小寫。PHP代碼中的字符均為半角(英文狀態(tài)下)字符,中文字符只能出現(xiàn)在字符串常量中。在“<?”和“?>”內(nèi)應(yīng)是一行或多行完整的語(yǔ)句,如<?for($i=3;$i<7;$i++)?>不能寫成

<?for($i=3;?><?$i<7;$i++)?>。在PHP中,每條語(yǔ)句以“;”號(hào)結(jié)束。PHP與VB的比較(示例)<html><body><?$sex='男';$sname="tang";if($sex=='男'){ echo$sname."先生";}?></body></html>PHP與VB的比較PHPVB語(yǔ)句結(jié)束標(biāo)志;回車符是否區(qū)分大小寫區(qū)分不區(qū)分變量名i$i變量是否需要聲明可聲明也可不聲明無(wú)需聲明PHP與VB的比較VB:對(duì)象.屬性 PHP:對(duì)象->屬性

Ifa=5then if($a==5){PHPVB連接運(yùn)算符.&或+成員運(yùn)算符->.是否相等運(yùn)算符===邏輯與運(yùn)算符&&或andAnd取余運(yùn)算符%ModPHP語(yǔ)言基礎(chǔ)常量和變量 變量的作用域和生存期 運(yùn)算符和表達(dá)式PHP的語(yǔ)句數(shù)組 3.2PHP的常量和變量常量普通常量,如10、-3.6、“hello”符號(hào)常量,用一個(gè)標(biāo)識(shí)符代表一個(gè)常量define()函數(shù):定義符號(hào)常量,符號(hào)常量一旦定義就不能再修改其值。<? define("PI","3.1416"); define("SITE","網(wǎng)頁(yè)設(shè)計(jì)學(xué)習(xí)網(wǎng)",true); echo(defined("PI"));

?>defined()函數(shù):判斷一個(gè)符號(hào)常量是否已定義PHP預(yù)定義的符號(hào)常量常量功能__FILE__存儲(chǔ)當(dāng)前腳本的物理路徑及文件名稱__LINE__存儲(chǔ)該常量所在的行號(hào)__FUNCTION__存儲(chǔ)該常量所在的函數(shù)名稱PHP_VERSION存儲(chǔ)當(dāng)前PHP的版本號(hào)PHP_OS存儲(chǔ)當(dāng)前服務(wù)器的操作系統(tǒng)名變量PHP的變量是一種弱類型變量,即變量無(wú)特定數(shù)據(jù)類型,不需要事先聲明,并可以通過(guò)賦值將其初始化為任何數(shù)據(jù)類型<?$str1="PHP變量1"; $num=10+2*9; $_date="2013-9-8"; $bol=true; $num='賦值字符串';$str1=$num+$_date;var_dump($num,$_date,$bol); ?>說(shuō)明①PHP變量必須以“$”開(kāi)頭,區(qū)分大小寫;②變量使用前不需要聲明,PHP中也沒(méi)有聲明變量的語(yǔ)句;③變量名不能以數(shù)字或其他字符開(kāi)頭,不能使用系統(tǒng)關(guān)鍵字作為變量名。變量的作用域變量的作用域:指該變量在程序中可以被使用的范圍。局部變量:定義在函數(shù)內(nèi)部的,只有這個(gè)函數(shù)內(nèi)的代碼才可使用該變量。全局變量:定義在所有函數(shù)外的,則其作用域是整個(gè)PHP文件,減去用戶自定義的函數(shù)內(nèi)部變量的作用域例題<? $a="全局變量<br>"; //全局變量functionfun(){ echo$a; //輸出空字符串

$a="局部變量、"; //局部變量

echo$a; //輸出“局部變量、”}fun(); //執(zhí)行函數(shù)echo$a; ?>變量的作用域例題2global關(guān)鍵字:在函數(shù)內(nèi)引用外部定義的變量

<? $a="全局變量、";functionfun(){

global$a; echo$a; $a="局部變量、"; echo$a; }fun(); echo$a; ?>變量的作用域例題3使用$GLOBALS[]全局?jǐn)?shù)組

<? $a="全局變量、";functionfun(){ echo$GLOBALS['a'];

$a="局部變量、"; echo$a; }fun(); echo$a; ?>變量的生存期變量的生存期表示該變量在什么時(shí)間范圍內(nèi)存在。全局變量的生存期從它被定義那一刻起到整個(gè)腳本代碼執(zhí)行結(jié)束為止局部變量的生存期從它被定義開(kāi)始到該函數(shù)運(yùn)行結(jié)束為止。若要在函數(shù)運(yùn)行結(jié)束后仍保留局部變量的值,可使用靜態(tài)變量

靜態(tài)變量例題<?functionTest(){

static$w=0; //聲明靜態(tài)變量

echo$w; $w++; }Test();Test();Test();Test();Test(); ?>運(yùn)行結(jié)果為“01234”。若去掉程序中的“static”,則運(yùn)行結(jié)果為“00000”。$w=$w+1;變量根據(jù)作用域和生存期分類類型說(shuō)明全局變量定義在所有函數(shù)外的變量,其作用域是整個(gè)PHP文件,減去用戶自定義的函數(shù)內(nèi)部局部變量定義在函數(shù)內(nèi)部的變量,只有這個(gè)函數(shù)內(nèi)的代碼才可以使用該變量靜態(tài)變量是局部變量的一種,能夠在函數(shù)調(diào)用結(jié)束后仍保留變量的值??勺冏兞靠勺冏兞浚鹤兞康淖兞?lt;?$a='b'; $b='一個(gè)變量<br>'; echo$$a; //$$a相當(dāng)于$b

$b='變化后'; echo$$a; $a='c'; echo$$a; ?>

變量引用賦值“引用賦值”:即新變量引用原始變量的地址,修改新變量的值將影響原變量的值,反之亦然。<? $b=10; $a="hello"; $b=&$a; //變量$b引用$a的地址 echo$a; $b="world"; echo$a; $a="cup"; echo$b; ?>引用賦值和C語(yǔ)言中的指針有相似之處,也有區(qū)別引用賦值——變量地址傳遞示意圖地址傳遞前hello10變量$a變量$b執(zhí)行$b=&$a;后hello變量$a變量$b復(fù)習(xí)PHP的變量名必須以 $ 開(kāi)頭。PHP的每條語(yǔ)句以 ; 結(jié)尾。PHP的輸出函數(shù)是 echo。3.1.5運(yùn)算符和表達(dá)式3.1.5運(yùn)算符和表達(dá)式1.算術(shù)運(yùn)算符加(+)減(-)乘(*)除(/):$a=5/3結(jié)果為1.66666666667取余(%):$a=5%3結(jié)果為2如果被除數(shù)是負(fù)數(shù),那么取得的結(jié)果也是負(fù)數(shù),例如$b=-7%3,結(jié)果是-1PHP無(wú)整除運(yùn)算符(\)和乘方運(yùn)算符(^)。3.1.5運(yùn)算符和表達(dá)式1.算術(shù)運(yùn)算符若算術(shù)運(yùn)算符兩邊有一個(gè)或兩個(gè)操作數(shù)不是數(shù)值型,則會(huì)先將操作數(shù)轉(zhuǎn)換成數(shù)值型,再執(zhí)行算術(shù)運(yùn)算。例如:$a=10+‘20’,結(jié)果為30。$a=‘10’+‘20’,結(jié)果為30。$a=‘10’+‘2.2ab8’,結(jié)果為12.2。$a=‘10’+‘a(chǎn)b2.2’,結(jié)果為10。$a='10'+true,結(jié)果為11VB:10203.1.5運(yùn)算符和表達(dá)式2.連接運(yùn)算符連接運(yùn)算符只有一個(gè),即“.”,用于將字符串連接起來(lái)$a='PHP'.5; //$a的值為PHP5$b='PHP'.'5'; //$b的值為PHP5$c="PHP".True; //$c的值為PHP1$d=5.'PHP'; //$d的值為5PHP提示:如果“.”的左右有數(shù)字,注意將“.”和數(shù)字用空格隔開(kāi)3.1.5運(yùn)算符和表達(dá)式3.賦值運(yùn)算符最基本的賦值運(yùn)算符是“=”例如:$a=3+5,$b=$c=9PHP還支持賦值運(yùn)算符與其他運(yùn)算符的縮寫形式,如“+=”、“.=”、“&=”、“|=”等。$a+=3等價(jià)于$a=$a+3$a.=3等價(jià)于$a=$a.3。3.1.5運(yùn)算符和表達(dá)式4.比較運(yùn)算符包括是否相等(==)、大于(>)、小于(<)、大于等于(>=)小于等于(<=)、不等于(!=或<>)、恒等于(===)、非恒等于(!==)例如,若$a=6,$b=3,則$a<$b返回false,$a>$b返回true$a<>$b返回true。$c=“PHP”<“php”,返回true。$c="5"==5返回true,$c="5"===5;返回false,$c=1==true返回true,$c=1!==true返回true。3.1.5運(yùn)算符和表達(dá)式5.邏輯運(yùn)算符有邏輯非(!)、邏輯與(&&或and)、邏輯或(||或or)、邏輯異或(xor)例如:!5<3&&‘b’==“b”返回true!(5>3&&‘b’===“b”)返回false。$c=(0and1||2),會(huì)先執(zhí)行1||2,返回false。$c=falseor1,返回false$c=false||1,返回true。提示:“&&”的優(yōu)先級(jí)比“and”高,“||”的優(yōu)先級(jí)比“or”高3.1.5運(yùn)算符和表達(dá)式6.加1/減1運(yùn)算符包括前加(++$a)、后加(++$a)、前減(--$a)、后減($a--)4種形式前加操作是先加1,再賦值,后加操作是先賦值,再加1$a=6;$b=++$a,執(zhí)行完后,$a=7,$b=7$a=6;$b=$a++,執(zhí)行完后,$a=7,$b=6。3.1.5運(yùn)算符和表達(dá)式7.條件運(yùn)算符條件表達(dá)式?表達(dá)式1:表達(dá)式2$c=10>2?"Yes":"No"$page=(isset($_GET['page']))?$_GET['page']:"1";3.1.5運(yùn)算符和表達(dá)式8.執(zhí)行運(yùn)算符執(zhí)行運(yùn)算符:反引號(hào)(`)鍵盤上數(shù)字1鍵的左邊用來(lái)執(zhí)行Shell命令,例如:<? $output=`dir`;echo$output; echoshell_exec('dir'); ?>提示:IIS出于安全性考慮,禁止使用執(zhí)行運(yùn)算符,執(zhí)行運(yùn)算符只能在Apache中使用3.1.6PHP的字符串PHP規(guī)定字符串的兩邊必須加上單引號(hào)(')或雙引號(hào)(")單引號(hào)表示包含的是純粹的字符串雙引號(hào)中可以包含字符串和變量名,如果包含變量名則會(huì)被當(dāng)成變量,會(huì)自動(dòng)被替換成變量值兩種字符串用法例題<?$a='tang';$b=10;echo'你好$a';//使用單引號(hào)輸出$aecho'<br>';echo"你好$a";//使用雙引號(hào)輸出變量echo"你是第$b次光臨"; ?>雙引號(hào)字符串寫法注意雙引號(hào)字符串中,如果變量名后有其他字符的話,要在變量名后加空格$sport='basket';$hobby="Ilikeplay$sportball."; echo$hobby;或用花括號(hào)將變量名包含起來(lái)$hobby="Ilikeplay{$sport}ball.";$sportball

雙引號(hào)字符串支持的轉(zhuǎn)義字符轉(zhuǎn)義字符含義轉(zhuǎn)義字符含義轉(zhuǎn)義字符含義\n換行\(zhòng)t跳格Tab\\反斜杠\\r回車\"雙引號(hào)\$顯示$符號(hào)界定符輸出字符串<? $i='顯示該行內(nèi)容'; echo<<<STD

雙引號(hào)""可直接輸出,\$i同樣可以。<br> \$i的內(nèi)容為:$iSTD;?>輸出結(jié)果為: 雙引號(hào)""可直接輸出,$i同樣可以

$i的內(nèi)容為:顯示該行內(nèi)容4.獲取字符串中的字符獲取字符串中的字符:給字符串變量加下標(biāo)<? $i='Tom&Mary'; echo$i[1].$i[4]; ?>輸出結(jié)果為o&,因?yàn)榭崭褚菜阋粋€(gè)字符獲取字符串的長(zhǎng)度strlen()函數(shù)可獲取字符串的長(zhǎng)度<? echostrlen('喜歡PHP!'); ?>mb_strlen()函數(shù)可獲取中文字符串的長(zhǎng)度<?echomb_strlen('喜歡PHP!',"gb2312"); ?>3.3數(shù)據(jù)類型及類型轉(zhuǎn)換PHP中的數(shù)據(jù)類型數(shù)據(jù)類型具體描述整型(integer)即整數(shù),占4個(gè)字節(jié)(32位),取值范圍從-2147483648到2147483647之間,可以采用十進(jìn)制、八進(jìn)制(0作前綴)、十六進(jìn)制(0x作前綴)表示。浮點(diǎn)型(float)即實(shí)數(shù)(包含小數(shù)的數(shù)),如1.0、3.14。布爾型boolean只有true(邏輯真)和false(邏輯假)兩種取值字符串(string)是一個(gè)字符的序列。組織字符串的字符可以是字母、數(shù)字或者符號(hào)。數(shù)組(array)由一組相同數(shù)據(jù)類型的元素組成的數(shù)據(jù)結(jié)構(gòu),每個(gè)元素都有唯一的編號(hào)對(duì)象(object)是面向?qū)ο笳Z(yǔ)言中的一種復(fù)合數(shù)據(jù)類型,對(duì)象就是類的一個(gè)實(shí)例。NULL空類型,只有一個(gè)值NULL。如果變量未被賦值,或被unset()函數(shù)處理后的變量,其值就是NULL。資源(resource)特有的一種特殊數(shù)據(jù)類型,用于表示一個(gè)PHP的外部資源,比如一個(gè)數(shù)據(jù)庫(kù)的訪問(wèn)操作,或者打開(kāi)保存文件操作。PHP提供了一些特定的函數(shù),用于建立和使用資源。偽類型只用于函數(shù)定義中,表示一個(gè)參數(shù)可接受多種類型的數(shù)據(jù),還可以接受別的函數(shù)作為回調(diào)函數(shù)使用。3.1.7PHP的數(shù)據(jù)類型和類型轉(zhuǎn)換1.自動(dòng)類型轉(zhuǎn)換$a="Hello"; $a=12;$a=1+3.14;$b=2+"2.0";$c=3+"php";2.強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換$a="2.0"; $b=(int)$a;$c=(array)$a; print_r($c);PHP數(shù)據(jù)類型轉(zhuǎn)換的規(guī)定見(jiàn)表3-5提示:任何數(shù)據(jù)類型輸出時(shí)都將被轉(zhuǎn)換成字符串

echotrue,會(huì)輸出字符串“1”echofalse,會(huì)輸出空字符串。3.4PHP的語(yǔ)句3.2PHP的語(yǔ)句3.2.1條件控制語(yǔ)句1.單分支選擇if語(yǔ)句

if(條件表達(dá)式){

語(yǔ)句塊}2.雙分支選擇if…else語(yǔ)句if(條件表達(dá)式){語(yǔ)句塊1}else{語(yǔ)句塊2}if($a) $a=0;else$a=1;if($a>$b) { $t=$a; $a=$b; $b=$t;}3.2PHP的語(yǔ)句3.2.1條件控制語(yǔ)句3.多分支選擇if…elseif…else…語(yǔ)句if($a<$b) $max=$b; elseif($a<$c) $max=$c;else $max=$a;3.2PHP的語(yǔ)句3.2.1條件控制語(yǔ)句4.switch/case語(yǔ)句switch(變量或算術(shù)表達(dá)式) { case(常量1): 語(yǔ)句塊1 case(常量2): 語(yǔ)句塊2 …… case(常量n): 語(yǔ)句塊n default:語(yǔ)句塊n+1}4.switch/case語(yǔ)句<? $a=date(G); //獲取當(dāng)前時(shí)間的小時(shí)數(shù)$a=floor($a/3); //將小時(shí)數(shù)除以4并取底switch($a) { case2:echo"早上好";break; case3:echo"上午好";break; case4:case5:echo"下午好";break; case6:echo"晚上好";break; default:echo"該睡覺(jué)了";break;} ?>3.2.2循環(huán)控制語(yǔ)句1.for循環(huán)for(初始表達(dá)式;循環(huán)條件表

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論