TML標簽:
所有內容都在<html></html>標簽之內;
<head></head>內放的是頭部信息,是對頁面的描述,不會直接顯示在頁面中。
<head></head>內的<title></title>中設置的是頁面的標題,<title></title>只能放在<head></head>中;
<body></body>是頁面的主體,大部分顯示內容都定義在這里。
HTML注釋:<!-- -->:
注釋不允許嵌套
html常用標簽:
h標簽(標題),HTML定義了<h1></h1>到<h6></h6>六個h標簽,分別表示不同大小的字體。h1最大,h6最小。
<br/>只是回車,<p>是段落。<p>前后會有比較大的空白,而<br/>則沒有。
<center>居中顯示.
<b>、<strong>粗體,<i>、<em>斜體。<u>下劃線。
<sub>2</sub>下標,如:H<sub>2</sub>O
<sup>2</sup>上標,如:10<sup>2</sup>
<font></font>字體標簽,<font color=“red“ size=“7” face=“隸書”>紅色</font>。color(設置顏色) size(1-7) face(設置字體,設置字體是注意用戶計算機中必須有該字體才能正常顯示)
<hr> color size(厚度) width(長度) align=left/center/right (默認為劇中顯示)
<pre> 預格式化 保持本色;
HTML特殊字符:<(小于號,less than);>(大于號,greater than); (空格)。
超鏈接:<a>標簽的一些常用屬性:href、title、target、name
插入圖片:<img src=“路徑”/>
列表:dl→(定義列表),ul→(無序列表), ol→(有序列表)。
表格:<table>;創(chuàng)建行:<tr>;創(chuàng)建單元格:<td>;表頁眉:<thead>;表主體:<tbody>;表頁腳:<tfoot>;表頭:<th>。
rowspan(合并行)、colspan(合并列)
<input>是主要的表單元素,type的可選值:submit(提交按鈕)、button(普通按鈕)、checkbox表單標簽:(復選框)、file(文件選擇框)、hidden(隱藏字段)、image(圖片按鈕)、password(密碼框)、radio(單選按鈕)、reset(重置按鈕)、text(文本框)。
meta標簽:(包括在head標簽中。主要用來描述頁面自身信息,元信息)
<meta name="keywords" content="C#學習資料,4k8k.net,.net開發(fā),軟件開發(fā),編程自學網(wǎng)"/>
<meta name="description" content="免費更新最新C#相關技術知識,主要包括:.net基礎,網(wǎng)頁前端,三層架構,SQL數(shù)據(jù)庫..."/>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />網(wǎng)頁編碼
<meta http-equiv="Refresh" content="3" />三秒鐘后刷新此網(wǎng)頁。
<meta http-equiv="Refresh" content="3;url=http://www.4k8k.net" />三秒鐘后重定向到新網(wǎng)頁。
<meta http-equiv="Cache-Control" content="no-cache" /> 禁止瀏覽器緩存頁面。
<meta name="名字" content="值" />關于網(wǎng)頁的描述信息。
<meta http-equiv="名字" content="值" />模擬http響應頭信息。
C#編程自學_做最好的.net自學資料站_更多文章請訪問:http://www.4k8k.net/
歡迎訂閱。
TML 表單用于搜集不同類型的用戶輸入。HTML5 Input,擁有多個新的表單輸入類型,提供了更好的輸入控制和驗證,今天將為大家?guī)鞨TML中的表單及其input輸入類型。
一、HTML表單
1、HTML表單用于收集不同類型的用戶輸入,是一個包含表單元素的區(qū)域并且允許用戶在表單中輸入內容,比如文本域(textarea)、下拉列表、單選框(radio=buttons)、復選框(checkboxes)等。
2、表單使用標簽<form>來設置,示例:
運行結果:
二、HTML表單屬性:
1、HTML表單包含表單元素,表單元素是指不同類型的input元素、復選框、單選按鈕、提交按鈕等。
2、action屬性
在上面的示例中出現(xiàn)了action屬性,action屬性定義在提交表單執(zhí)行的動作,向服務器提交表單的通常做法是使用提交按鈕。
通常,表單會被提交到web服務器上的網(wǎng)頁,上面的例子中,則指定了某個服務器腳本來處理被提交表單。
如果省略 action 屬性,則 action 會被設置為當前頁面。
3、method 屬性
method屬性規(guī)定在提交表單時所用的 HTTP 方法(GET 或 POST):
如果表單提交是被動的(比如搜索引擎查詢),并且沒有敏感信息,使用get。
如果表單正在更新數(shù)據(jù),或者包含敏感信息(例如密碼),使用post。
4、如果要正確地被提交,每個輸入字段必須設置一個 name 屬性,示例:
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
First name:<br>
<input type="text" name="Firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form>
<p>如果您點擊提交,表單數(shù)據(jù)會被發(fā)送到名為 demo_form.asp 的頁面。</p>
<p>first name 不會被提交,因為此 input 元素沒有 name 屬性。</p>
</body>
</html>
運行結果:
5、target 屬性
target 屬性規(guī)定提交表單后在何處顯示響應,target 屬性可設置以下值之一:
默認值為 _self,這意味著響應將在當前窗口中打開。
6、Autocomplete 屬性
autocomplete 屬性規(guī)定表單是否應打開自動完成功能。
啟用自動完成功能后,瀏覽器會根據(jù)用戶之前輸入的值自動填寫值,示例:
運行結果:
7、所有<form>屬性的列表:
三、HTML表單元素:
1、<input>元素是最重要的表單元素,有很多的形態(tài),根據(jù)不同的type屬性,例如:
① 文本輸入(text),示例:
<!DOCTYPE html>
<html>
<body>
<form>
First name:<br>
<input type="text" name="firstname">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
<p>請注意表單本身是不可見的。</p>
<p>同時請注意文本字段的默認寬度是 20 個字符。</p>
</body>
</html>
運行結果:
② 單選按鈕輸入(radio),示例:
<!DOCTYPE html>
<html>
<body>
<form>
<input type="radio" name="sex" value="male" checked>Male
<br>
<input type="radio" name="sex" value="female">Female
</form>
</body>
</html>
運行結果:
③ 提交按鈕(submit),示例:
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form>
<p>如果您點擊提交,表單數(shù)據(jù)會被發(fā)送到名為 demo_form.asp 的頁面。</p>
</body>
</html>
運行結果:
2、<select>元素
<select>元素定義下拉列表,示例:
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
<br><br>
<input type="submit">
</form>
</body>
</html>
運行結果:
3、<fieldset>元素
<fieldset>元素組合表單中的相關數(shù)據(jù)
<legend>元素為<fieldset>元素定義標題,示例:
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
<fieldset>
<legend>Personal information:</legend>
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</fieldset>
</form>
</body>
</html>
運行結果:
4、<textarea> 元素
<textarea> 元素定義多行輸入字段(文本域)、示例:
<!DOCTYPE html>
<html>
<body>
<form>
<textarea name="message" rows="10" cols="30">
The cat was playing in the garden.
</textarea>
</form>
</body>
</html>
運行結果:
5、HTML5<datalist>元素
<datalist> 元素為 <input> 元素規(guī)定預定義選項列表。
用戶會在他們輸入數(shù)據(jù)時看到預定義選項的下拉列表。
<input> 元素的 list 屬性必須引用 <datalist> 元素的 id 屬性,示例:
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
<input list="browsers" name="browser">
<datalist id="browsers">
<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>
<input type="submit">
</form>
</body>
</html>
運行結果:
四、HTML表單輸入類型
輸入類型 | 定義 |
text | 定義供文本輸入的單行輸入字段 |
password | 定義密碼字段 |
submit | 定義提交表單數(shù)據(jù)至表單處理程序的按鈕 |
radio | 定義單選按鈕 |
checkbox | 定義復選框 |
<input>中的type:
類型 | 定義 |
radio | 定義單選按鈕 |
checkbox | 定義復選框 |
button | 定義按鈕 |
number | 用于應該包含數(shù)字值的輸入字段 |
date | 用于應該包含日期的輸入字段 |
color | 用于應該包含顏色的輸入字段 |
range | 用于應該包含一定范圍內的值的輸入字段 |
month | 允許用戶選擇月份和年份 |
week | 允許用戶選擇周和年 |
time | 允許用戶選擇時間(無時區(qū)) |
datetime | 允許用戶選擇日期和時間(有時區(qū)) |
datetime-local | 允許用戶選擇日期和時間(無時區(qū)) |
用于應該包含電子郵件地址的輸入字段 | |
search | 用于搜索字段(搜索字段的表現(xiàn)類似常規(guī)文本字段) |
tel | 用于應該包含電話號碼的輸入字段 |
url | 用于應該包含 URL 地址的輸入字段 |
輸入限制:
這就是有關HTML表單的大概內容了,希望這篇HTML的表單及其input輸入類型的知識點能對大家有所幫助。
組:定義,數(shù)組做什么的
PHP中數(shù)組的特點:數(shù)組沒有類型,沒有長度限制,可以有文本下標
數(shù)據(jù)遍歷:foreach遍歷,for(數(shù)組是從0開始,順序增長的索引數(shù)組,count),each+list,一些列數(shù)組函數(shù)(current,key,next,prev,end,reset)
數(shù)組相關的函數(shù)
字符串-數(shù)組:explode,implode
驗證碼:range,array_rand(獲取元素下標,順序排序),shuffle
數(shù)據(jù)結構的模擬:棧和隊列,array_push(入棧),array_pop(出棧),array_unshift,array_shift
SQL注入:addslashes,stripslashes(將添加的轉義符號去掉)
用戶在瀏覽器里輸入相關數(shù)據(jù),數(shù)據(jù)需要提交到服務器。
瀏覽器到底是如何將數(shù)據(jù)傳遞給服務器的?
url傳遞數(shù)據(jù)
表單提交數(shù)據(jù)(form)
PHP獲取瀏覽器提交數(shù)據(jù)的方式:
$_GET:獲取用戶get方式提交的數(shù)據(jù),url地址欄里面的數(shù)據(jù)
$_POST:獲取用于post方式提交的數(shù)據(jù),表單提交的數(shù)據(jù)
$_REQUEST:獲取以上兩種方式提交的數(shù)據(jù)(進行合并)
嚴格的講,瀏覽器只有兩種提交數(shù)據(jù)的方式:get提交和post提交
Get提交:url里本身的數(shù)據(jù),表單get方式提交的數(shù)據(jù)
Post提交:表單以post形式提交的數(shù)據(jù)
$_REQUEST會對post和get方式提交的數(shù)據(jù)進行合并:array_merge()
Array_merge($_GET,$_POST):如果post方式提交的數(shù)據(jù),如果與get方式提交的數(shù)據(jù),有同名下標,則會用post覆蓋get。
是什么絕對了是post覆蓋get而不是get覆蓋post?
是配置文件決定了順序:php.ini中一個叫做request_order的配置,決定了覆蓋的順序
這個順序決定了數(shù)據(jù)數(shù)組在array_merge()里面出現(xiàn)的順序
如果在低版本里,可能沒有request_order這個配置,是用variables_order配置的。
注意:
1.通常session不會放到$_REQUEST里去,$_REQUEST里通常會保存get,post和cookie數(shù)據(jù)。
2.$_REQUEST要慎用,因為$_REQUEST不安全。
Get與post的區(qū)別
1.安全性:post提交的數(shù)據(jù)看不見(一般用戶看不到),get都是在地址欄里,用戶一眼就可以看到;用戶可以直接修改地址欄的信息
2.Get方式能提交的數(shù)據(jù)是有限的(比較少),比post小很多。
3.Get和post都只能提交字符流數(shù)據(jù),如果要進行文件的傳輸(二進制流),必須使用post方式提交(配合其他)
如何選擇使用get方式還是post方式提交數(shù)據(jù)?
1.如果數(shù)據(jù)安全性要求不高,且數(shù)據(jù)量比較少,可以使用get方式(因為簡單,不需要使用表單)
2.如果數(shù)據(jù)量大,或者安全性要求較高(秘密等),應該使用post提交
3.如果要上傳完文件,非post莫屬
在PHP5.3以前,可以修改PHP的配置文件,register_globals,能夠將用戶提交的表單,直接生成表單名字對應的變量
<form method=”post” action=”post.php”>
用戶名:<input type=”text” name=”username”/>
密碼:<Input type=”password” name=”password” />
<input type=”submit” value=”提交”/>
</form>
當用戶提交到對應的PHP界面post.php中,默認的只能使用$_POST獲得用戶的數(shù)據(jù)
$_POST[‘username’],$_POST[‘password’];
Php.ini:register_globals=on
$username,$password
從PHP5.3開始,這個功能被廢棄,5.4之后直接刪除了。
1.不安全,用戶提交的數(shù)據(jù)不是很方便驗證
2.PHP不相信任何外來數(shù)據(jù)
如果用戶表單提交界面,使用js對用戶提交的所有表單數(shù)據(jù)進行驗證。那么PHP還有沒有必要對表單提交的數(shù)據(jù)進行驗證?(數(shù)據(jù)合法性)
答案的肯定有必要!
對于PHP來講,js驗證過的數(shù)據(jù)依然是外部數(shù)據(jù)。Js可以被用戶禁用,所以PHP還必須對數(shù)據(jù)進行驗證。
如果在一個PHP腳本中,既有PHP代碼,又有html表單,同時該表單還是提交到當前頁。就需要對用戶操作進行判斷,用戶究竟是直接請求還是提交
Checkbox
復選框語法
籃球<input type=”checkbox” name=”名字” value=”值”/>
表現(xiàn)形式
技術實現(xiàn)
1.如何提交復選框的內容
表單
提交接收
選擇了多個復選框,卻只得到一個復選框的值
1)什么樣的復選框能夠被提交
復選框必須要有name屬性
只有被選中的復選框才會被提交
2)多個復選框選中之后,只有一個被提交?
因為復選框的名字重復,瀏覽器只提交一個該名字的表單元素。最后一個被選中的復選框元素。
解決方式:給不同的復選框不同的名字,可以解決選中提交被覆蓋的問題
3)無法區(qū)分復選框是否屬于一類的問題?
采用數(shù)組的形式:給定name屬性的值增加一個中括號[]
加上中括號之后,瀏覽器就不會把這個看似一樣的名字當做相同的名字
提交之后
復選框加上中括號不會覆蓋名字的原理
將表單復選框選中的元素添加到數(shù)據(jù)庫
使用PHP1405數(shù)據(jù)庫
創(chuàng)建hobby表
插入數(shù)據(jù)庫代碼
將數(shù)據(jù)從數(shù)據(jù)庫拿出來并顯示
之前所選擇的愛好信息,在顯示的時候,能夠自動勾選上。
1.取出數(shù)據(jù)
2.把數(shù)據(jù)從字符串轉化成數(shù)組
3.遍歷數(shù)組,匹配選擇
1)如何讓復選框默認被選中?
在表單里添加一個checked=”checked”屬性
2)如何判斷一個元素是否在數(shù)組中存在?
In_array,判斷一個元素字符在數(shù)組中存在,如果存在返回true,否則返回false
作業(yè):將復選框顯示采用數(shù)組遍歷,構造checkbox表單的形式。
將用戶瀏覽器端的文件上傳到服務器端的過程就是文件上傳。
1) 哪里會用到文件上傳?
頭像管理,相冊管理,共享文件,文件下載。。。
2)文件上傳瀏覽器端,要做什么呢?
1. 選中文件
2. 點擊上傳
3)文件上傳服務端,要做什么呢?
1. 接收用戶上傳的文件
2. 判斷文件的類型和內容
3. 將文件保存到服務器上
如果要實現(xiàn)文件上傳,必須保證兩點:
1.瀏覽器要有文件表單域
保證表單的提交方式是post
<input type=”file” name=”名字” />
2.保證PHP允許文件上傳功能
配置文件開啟文件上傳功能
修改臨時文件上傳的路徑
如果不做修改,那么該目錄指的是操作系統(tǒng)的臨時目錄,win7對應的是C:/Windows/Temp
文件上傳
1.準備文件上傳表單
2.準備接收文件的PHP文件
3.提交測試
文件沒有上傳成功,只是上傳了一個文件名。原因?
Get或者post都只能提交字符流的字符串,不能夠提交二進制流數(shù)據(jù),而文件本身是二進制流
4.修改文件上傳表單域,增加一個二進制流配置enctype=”multipart/form-data”
經(jīng)測試,怪異的事情發(fā)生了,原來保存著$_POST里面的文件名不見了。原因?
文件上傳成功了!
但是因為腳本立即結束,臨時文件馬上被刪除了。如果想要看臨時文件是否存在
5.PHP真正接收上傳的文件
$_FILES預定義全局變量,保存用戶上傳的文件信息。
6.將臨時文件給放到指定的文件上傳目錄
PHP提供了兩個函數(shù)
Copy:將一個文件復制一份,將復制的這份放到指定的目錄(會保留源文件)
Move_uploaded_file:將上傳的文件移動到指定的目錄(不會保留源文件)
文件上傳流程
文件上傳會因為編碼的原因導致上傳的中文名字會變成亂碼。所以解決該問題的方式,就是對上傳的文件進行重命名。
文件重命名
改變的是文件的名字,不改變文件后綴名
1.修改文件名字(系統(tǒng)生成)
2.保證原來文件的后綴名
文件上傳函數(shù)封裝(簡單)
1.判斷用戶是否上傳文件
2.正常情況下應該判斷文件上傳錯誤信息
只要當文件上傳錯誤信息為0的時候才上傳成功的,其他都是上傳失敗
3.文件重命名
4.移動文件
5.調用文件上傳函數(shù)
PHP中沒有算法,在底層的語言當中算法應用的比較多。
基本排序算法:冒泡算法,選擇排序,插入排序,快速排序。
都是對數(shù)組進行排序,數(shù)組里面都是數(shù)值元素
冒泡算法
假設升序排序,每次將最大的那個數(shù)值給冒到最后
原理
代碼
找出元素在數(shù)組中存在的位置。(下標)
查找就是遍歷數(shù)組,拿元素與需要查找的值進行比對,比對成功則返回對應的下標,失敗則繼續(xù)直到數(shù)組末尾。
二分法
前提:要查找的數(shù)組是一個已經(jīng)排序好的數(shù)組。
將數(shù)組進行折半,對中間元素進行比較,如果沒有得到結果則從另外一半再進行折半,直到找到對應的元素
原理
代碼
相關鏈接:重蔚php學習第二十八天——數(shù)組,二維數(shù)組,數(shù)組的遍歷
重蔚php學習第二十八天——數(shù)組,數(shù)組相關函數(shù),數(shù)據(jù)結構模擬
*請認真填寫需求信息,我們會在24小時內與您取得聯(lián)系。