范說明
性能是網站運行是否良好的關鍵因素, 網站的性能與效率影響著公司的運營成本及長遠發展,編寫出高質高效的代碼是我們每個開發人員必備的素質,也是我們良好的職業素養。
快速、并發、資源消耗低(內存、磁盤 IO、CPU 負載)
hp超級全局變量
PHP中預定義了幾個超級全局變量(superglobals) ,這意味著它們在一個腳本的全部作用域中都可用。 你不需要特別說明,就可以在函數及類中使用。
PHP 超級全局變量列表:
$GLOBALS 是PHP的一個超級全局變量組,在一個PHP腳本的全部作用域中都可以訪問
$GLOBALS 是一個包含了全部變量的全局組合數組。變量的名字就是數組的鍵
<?php
$x=75;
$y=25;
function addition()
{
$GLOBALS['z']=$GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>
$_SERVER 是一個包含了諸如頭信息(header)、路徑(path)、以及腳本位置(script locations)等等信息的數組。這個數組中的項目由 Web 服務器創建
<?php
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>
PHP $_REQUEST 用于收集HTML表單提交的數據。
以下實例顯示了一個輸入字段(input)及提交按鈕(submit)的表單(form)。 當用戶通過點擊 "Submit" 按鈕提交表單數據時, 表單數據將發送至<form>標簽中 action 屬性中指定的腳本文件。 在這個實例中,我們指定文件來處理表單數據。如果你希望其他的PHP文件來處理該數據,你可以修改該指定的腳本文件名。 然后,我們可以使用超級全局變量 $_REQUEST 來收集表單中的 input 字段數據:
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
$name=$_REQUEST['fname'];
echo $name;
?>
</body>
</html>
$_POST 被廣泛應用于收集表單數據,在HTML form標簽的指定該屬性:"method="post"。
以下實例顯示了一個輸入字段(input)及提交按鈕(submit)的表單(form)。 當用戶通過點擊 "Submit" 按鈕提交表單數據時, 表單數據將發送至<form>標簽中 action 屬性中指定的腳本文件。 在這個實例中,我們指定文件來處理表單數據。如果你希望其他的PHP文件來處理該數據,你可以修改該指定的腳本文件名。 然后,我們可以使用超級全局變量 $_POST 來收集表單中的 input 字段數據
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
$name=$_POST['fname'];
echo $name;
?>
</body>
</html>
PHP $_GET 同樣被廣泛應用于收集表單數據,在HTML form標簽的指定該屬性:"method="get"。
$_GET 也可以收集URL中發送的數據。
第一種:
第二種、
注意:post只是相比較get安全性更高一點,并不是說是萬無一失的,在編程語言中,安全是最重要的(在輸出語句中echo,print,var_dump等輸出語句一定要使用過濾函數如htmlentiti()或正則過濾);
cookie 常用于識別用戶。cookie 是一種服務器留在用戶計算機上的小文件。每當同一臺計算機通過瀏覽器請求頁面時,這臺計算機將會發送 cookie。通過 PHP,您能夠創建并取回 cookie 的值。
如何創建cookie?
setcookie()函數用于設置 cookie
注釋:setcookie() 函數必須位于 <html> 標簽之前
語法:
<?php
setcookie(name , value, expire ,path , domain);
?>
<?php
setcookie("user" , "hulitong", time()+3600);
?>
<html>
...
取回cookie的值
<?php
我們使用 isset() 函數來確認是否已設置了 cookieecho $_COOKIE["user"]; //輸出user的cookie
print_r($_COOKIE); //獲取打印所有cookie
?>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>
<?php
if (isset($_COOKIE["user"]))
echo "歡迎 " . $_COOKIE["user"] . "!<br>";
else
echo "普通訪客!<br>";
?>
</body>
</html>
如上:我們使用 isset() 函數來確認是否已設置了 cookie
如何刪除Cookie?
當刪除 cookie 時,您應當使過期日期變更為過去的時間點。
<?php
// 設置 cookie 過期時間為過去 1 小時
setcookie("user", "", time()-3600);
?>
session 變量用于存儲關于用戶會話(session)的信息,或者更改用戶會話(session)的設置。Session 變量存儲單一用戶的信息,并且對于應用程序中的所有頁面都是可用的
您在計算機上操作某個應用程序時,您打開它,做些更改,然后關閉它。這很像一次對話(Session)。計算機知道您是誰。它清楚您在何時打開和關閉應用程序。然而,在因特網上問題出現了:由于 HTTP 地址無法保持狀態,Web 服務器并不知道您是誰以及您做了什么。
PHP session 解決了這個問題,它通過在服務器上存儲用戶信息以便隨后使用(比如用戶名稱、購買商品等)。然而,會話信息是臨時的,在用戶離開網站后將被刪除。如果您需要永久存儲信息,可以把數據存儲在數據庫中。
Session 的工作機制是:為每個訪客創建一個唯一的 id (UID),并基于這個 UID 來存儲變量。UID 存儲在 cookie 中,或者通過 URL 進行傳導
在您把用戶信息存儲到 PHP session 中之前,首先必須啟動會話。
注釋:session_start() 函數必須位于 <html> 標簽之前:
<?php session_start(); ?>
<html>
<body>
</body>
</html>
存儲和取回 session 變量的正確方法是使用 PHP $_SESSION 變量
<?php
session_start();
// 存儲 session 數據
$_SESSION['views']=1;
?>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>
<?php
// 檢索 session 數據
echo "瀏覽量:". $_SESSION['views'];
?>
</body>
</html>
銷毀session
如果您希望刪除某些 session 數據,可以使用 unset() 或 session_destroy() 函數。
unset() 函數用于釋放指定的 session 變量:
<?php
session_start();
if(isset($_SESSION['views']))
{
unset($_SESSION['views']);
}
?>
您也可以通過調用 session_destroy() 函數徹底銷毀 session:
html表單:HTML表單用于收集用戶輸入的數據,并將數據發送到服務器進行處理,創建了一個包含多種表單元素的表單。其中,<label> 標簽用來描述表單元素,<input> 標簽用來創建表單輸入框,<textarea> 標簽用來創建多行文本輸入框,<button> 標簽用來創建提交按鈕等等。下面我們一起來學習了解吧
HTML提供了幾個用于創建表單的標簽,包括<form>、<input>、<label>、<select>、<option>、<textarea>和<button>。
<form>標記用于創建表單元素,該元素可以包含一個或多個表單控件,如文本輸入、復選框、單選按鈕等。
action屬性指定表單數據應提交到的URL,method屬性指定用于提交的HTTP方法(通常為“GET”或“POST”)。
下面是一個帶有文本輸入和提交按鈕的簡單表單示例:
<form action="submit-form.php" method="POST">
<label for="name">Name:</label>
<input type="text" id="name" name="name">
<button type="submit">Submit</button>
</form>
在本例中,<label>標記用于使用for屬性和id屬性將文本輸入與其標簽相關聯。輸入的name屬性指定將與表單數據一起提交的表單字段的名稱。
<select>標記用于創建選項的下拉列表,<option>標記用于定義每個選項。下面是一個例子:
<label for="color">Favorite color:</label>
<select id="color" name="color">
<option value="red">Red</option>
<option value="green">Green</option>
<option value="blue">Blue</option>
</select>
在本例中,每個選項的value屬性指定將與表單數據一起提交的值。
<textarea>標記用于創建多行文本輸入。下面是一個例子:
<label for="message">Message:</label>
<textarea id="message" name="message"></textarea>
<button>標記用于創建一個按鈕,該按鈕可用于提交表單或執行其他操作。 下面是一個例子:
<button type="submit">Submit</button>
HTML中,文本框、密碼框和多行文本框分別使用input元素的不同type屬性值來實現。
文本框、密碼框和多行文本框是用來接收用戶輸入的常見表單元素。它們分別使用不同的標簽和屬性來實現。
文本框(text box)是用于接受單行文本輸入的表單元素??梢酝ㄟ^設置<input>標簽的type屬性為"text"來創建文本框。例如:
<label for="username">用戶名:</label>
<input type="text" id="username" name="username">
上面的示例代碼中,id屬性定義了文本框的唯一標識符,name屬性定義了提交表單時該文本框的名稱。
密碼框(password field)是用于接受密碼等敏感信息的表單元素,并且會將用戶輸入的字符隱藏起來。可以通過設置<input>標簽的type屬性為"password"來創建密碼框。例如:
<label for="password">密碼:</label>
<input type="password" id="password" name="password">
多行文本框(text area)可用于接收包含多個行的文本輸入,例如評論或留言等??梢酝ㄟ^使用<textarea>標簽來創建多行文本框,然后使用它的rows和cols屬性來指定它的尺寸。例如:
<label for="message">留言:</label>
<textarea id="message" name="message" rows="5" cols="30"></textarea>
上面的示例代碼中,rows屬性定義了多行文本框的行數,cols屬性定義了多行文本框每一行的字符數。
HTML中,單選框和復選框是常見的表單元素,用于讓用戶選擇不同選項。它們分別使用<input>標簽的不同type屬性值來實現。
單選框(radio button)允許用戶在一組選項中選擇一個??梢允褂孟嗤膎ame屬性來將多個單選框關聯起來。當用戶勾選其中一個單選框時,其他單選框將自動取消選中狀態??梢酝ㄟ^設置<input>標簽的type屬性為"radio"來創建單選框。例如:
<form>
<p>請選擇性別:</p>
<label><input type="radio" name="gender" value="M">男士</label>
<label><input type="radio" name="gender" value="F">女士</label>
<label><input type="radio" name="gender" value="O">其他</label>
</form>
上面的示例代碼中,三個單選框使用相同的name屬性,以便將它們關聯起來。當用戶勾選其中一個單選框時,另外兩個單選框將自動取消選中狀態。
復選框(checkbox)允許用戶選擇多個選項。可以使用相同的name屬性來將多個復選框關聯起來。當用戶勾選其中一個復選框時,其他復選框保持不變??梢酝ㄟ^設置<input>標簽的type屬性為"checkbox"來創建復選框。例如:
<form>
<p>請選擇語言:</p>
<label><input type="checkbox" name="lang" value="js">JavaScript</label>
<label><input type="checkbox" name="lang" value="py">Python</label>
<label><input type="checkbox" name="lang" value="java">Java</label>
</form>
上面的示例代碼中,三個復選框使用相同的name屬性,以便將它們關聯起來。用戶可以勾選多個復選框。
單選框和復選框的值可以通過value屬性進行指定,當表單提交時,瀏覽器會將被選中的單選框或復選框的值作為表單數據提交到服務器并進行處理。
HTML中,下拉列表框和列表框是用來顯示多個選項的表單元素。它們分別使用不同的標簽和屬性來實現。
下拉列表框(dropdown list)可以讓用戶從多個選項中選擇一個選項??梢允褂?lt;select>標簽來創建下拉列表框,然后使用<option>標簽定義每一個選項。例如:
<form>
<p>請選擇城市:</p>
<select name="city">
<option value="bj">北京</option>
<option value="sh">上海</option>
<option value="gz">廣州</option>
<option value="sz">深圳</option>
</select>
</form>
上面的示例代碼中,四個<option>標簽定義了四個選項。其中"value"屬性指定每個選項的值,"text"節點指定每個選項的文本內容。當用戶點擊下拉框時,會出現一個下拉菜單列出所有可用選項,用戶可以從中選擇一個選項。
列表框(list box)是另一種顯示多個選項的表單元素,與下拉列表框不同的是,列表框可以同時顯示多個選項??梢允褂?lt;select>標簽來創建列表框,然后使用<option>標簽定義每一個選項并設置multiple屬性為"multiple"來啟用多選模式。例如:
<form>
<p>請選擇興趣愛好:</p>
<select name="interests" multiple>
<option value="reading">閱讀</option>
<option value="music">音樂</option>
<option value="painting">繪畫</option>
<option value="sports">運動</option>
</select>
</form>
上面的示例代碼中,multiple屬性指定該列表框啟用多選模式。當用戶選擇一個或多個選項時,這些選項將被高亮顯示。
總之,在HTML中可以使用下拉列表框和列表框來為用戶提供多個選項讓用戶選擇,并在表單提交時將選擇的結果作為表單數據提交到服務器。
HTML中,按鈕和圖像按鈕是用來觸發事件或提交表單的表單元素。它們分別使用<button>標簽和<input>標簽的不同type屬性值來實現。
普通按鈕(button)通常用于觸發一些事件,例如刷新頁面、清空表單等??梢允褂?lt;button>標簽來創建普通按鈕。例如:
<button>點擊我</button>
上面的示例代碼中,創建了一個簡單的按鈕,點擊按鈕會觸發一些事件。
提交按鈕(submit button)用于將表單數據提交到服務器進行處理??梢允褂?lt;input>標簽,并將其type屬性設置為"submit"來創建提交按鈕,例如:
<input type="submit" value="提交">
上面的示例代碼中,設置了一個提交按鈕,當用戶點擊該按鈕時,瀏覽器會將表單數據提交到服務器并進行處理。
圖像按鈕(image button)與普通按鈕類似,但它使用圖片而不是文本作為按鈕的標識??梢允褂?lt;input>標簽,并將其type屬性設置為"image"來創建圖像按鈕,例如:
<input type="image" src="submit.png" alt="提交">
上面的示例代碼中,創建了一個帶有圖片的圖像按鈕。當用戶單擊圖像按鈕時,瀏覽器會將表單數據提交到服務器并進行處理。
以上就是今天要講的內容,本文簡單介紹了HTML的表單的知識點,更多內容可以查看THTML官方文檔
如果覺得有用,歡迎明天再來,繼續合集的下一篇文章學習
遇到問題,私信我!!~~
*請認真填寫需求信息,我們會在24小時內與您取得聯系。