PHP頁(yè)面間傳遞值和保持值的方法
一、目錄結(jié)構(gòu)

二、兩次頁(yè)面間傳遞值
在兩次頁(yè)面之間傳遞少量數(shù)據(jù),可以使用get提交,也可以使用post提交,二者的區(qū)別恕不贅述。
1、get提交
使用get提交來(lái)傳遞數(shù)據(jù),在鏈接地址中修改發(fā)送到服務(wù)器的 URL 如下所示
從帶有 GET 方法的表單發(fā)送的信息,對(duì)任何人都是可見的(會(huì)顯示在瀏覽器的地址欄),并且對(duì)發(fā)送信息的量也有限制。
<html> <head> <meta charset="utf-8"> <title>get提交值</title> </head> <body> <form action="getPage.php" method="get"> 名字: <input type="text" name="gName"> 年齡: <input type="text" name="gAge"> <input type="submit" value="提交"> </form> </body> </html>
"getPage.php" 文件現(xiàn)在可以通過 $_GET 變量來(lái)收集表單數(shù)據(jù)了(請(qǐng)注意,表單域的名稱會(huì)自動(dòng)成為 $_GET 數(shù)組中的鍵):
1 歡迎 <?php echo $_GET["gName"]; ?>!<br> 2 你的年齡是 <?php echo $_GET["gAge"]; ?> 歲。
2、post提交
使用post提交來(lái)傳遞數(shù)據(jù),在表單中設(shè)置method="post",php中接收post提交的數(shù)據(jù)值,使用預(yù)定義$_POST變量
從帶有 POST 方法的表單發(fā)送的信息,對(duì)任何人都是不可見的(不會(huì)顯示在瀏覽器的地址欄),并且對(duì)發(fā)送信息的量也沒有限制。
注釋:然而,默認(rèn)情況下,POST 方法的發(fā)送信息的量最大值為 8 MB(可通過設(shè)置 php.ini 文件中的 post_max_size 進(jìn)行更改)。
<html> <head> <meta charset="utf-8"> <title>post提交值</title> </head> <body> <form action="postPage.php" method="post"> 名字: <input type="text" name="pName"> 年齡: <input type="text" name="pAge"> <input type="submit" value="提交"> </form> </body> </html>
"postPage.php" 文件現(xiàn)在可以通過 $_POST 變量來(lái)收集表單數(shù)據(jù)了(請(qǐng)注意,表單域的名稱會(huì)自動(dòng)成為 $_POST 數(shù)組中的鍵):
歡迎 <?php echo $_POST["pName"]; ?>!<br> 你的年齡是 <?php echo $_POST["pAge"]; ?> 歲。
三、多個(gè)頁(yè)面之間保持值
在多個(gè)頁(yè)面之間保持?jǐn)?shù)據(jù),可以使用session保存,也可以使用cookie保存,二者的區(qū)別恕不贅述。
1、session保存數(shù)據(jù)
PHP session 變量用于存儲(chǔ)關(guān)于用戶會(huì)話(session)的信息,或者更改用戶會(huì)話(session)的設(shè)置。Session 變量存儲(chǔ)單一用戶的信息,并且對(duì)于應(yīng)用程序中的所有頁(yè)面都是可用的。Session 的工作機(jī)制是:為每個(gè)訪客創(chuàng)建一個(gè)唯一的 id (UID),并基于這個(gè) UID 來(lái)存儲(chǔ)變量。UID 存儲(chǔ)在 cookie 中,或者通過 URL 進(jìn)行傳導(dǎo)。
在您把用戶信息存儲(chǔ)到 PHP session 中之前,首先必須啟動(dòng)會(huì)話。
注釋:session_start() 函數(shù)必須位于 <html> 標(biāo)簽之前:
存儲(chǔ)和取回 session 變量的正確方法是使用 PHP的$_SESSION變量:
<?php session_start(); // 存儲(chǔ) session 數(shù)據(jù) $_SESSION['viewCount']=1; ?> <html> <head> <meta charset="utf-8"> <title>session保持?jǐn)?shù)據(jù)值</title> </head> <body> <?php // 取出 session 數(shù)據(jù) echo "瀏覽量:". $_SESSION['viewCount']; ?> </body> </html>
2、cookie保存數(shù)據(jù)
cookie 常用于識(shí)別用戶。cookie 是一種服務(wù)器留在用戶計(jì)算機(jī)上的小文件。每當(dāng)同一臺(tái)計(jì)算機(jī)通過瀏覽器請(qǐng)求頁(yè)面時(shí),這臺(tái)計(jì)算機(jī)將會(huì)發(fā)送 cookie。通過 PHP,您能夠創(chuàng)建并取回 cookie 的值。
setcookie() 函數(shù)用于設(shè)置 cookie。
注釋:setcookie() 函數(shù)必須位于 <html> 標(biāo)簽之前。
語(yǔ)法如下
//name存儲(chǔ)的鍵名 //value存儲(chǔ)的鍵值 //expire存儲(chǔ)的超時(shí)時(shí)間 //path存儲(chǔ)的位置 //domain存儲(chǔ)區(qū)別的域名 setcookie(name, value, expire, path, domain);
$_COOKIE 變量用于取回 cookie 的值。
<?php // 輸出 cookie 值 echo $_COOKIE["user"]; // 查看所有 cookie print_r($_COOKIE); ?>
當(dāng)刪除 cookie 時(shí),您應(yīng)當(dāng)使過期日期變更為過去的時(shí)間點(diǎn):
<?php
// 設(shè)置 cookie 過期時(shí)間為過去 1 小時(shí)
setcookie("user", "", time()-3600);
?>
以上所述是小編給大家介紹的PHP頁(yè)面間傳遞值和保持值的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
php 網(wǎng)上商城促銷設(shè)計(jì)實(shí)例代碼
前一篇文章講的是購(gòu)物車的設(shè)計(jì),這篇來(lái)講下關(guān)于促銷的。支持的促銷類似于,打折,買幾贈(zèng)幾,滿多少錢送禮品等等。用到策略模式2012-02-02
PHP編寫daemon process詳解及實(shí)例代碼
這篇文章主要介紹了PHP編寫daemon process詳解的相關(guān)資料,并附實(shí)例代碼,有需要的小伙伴可以參考下2016-09-09
Laravel框架模板加載,分配變量及簡(jiǎn)單路由功能示例
這篇文章主要介紹了Laravel框架模板加載,分配變量及簡(jiǎn)單路由功能,結(jié)合實(shí)例形式分析了Laravel框架模板加載,分配變量及簡(jiǎn)單路由功能相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-06-06
php的array數(shù)組和使用實(shí)例簡(jiǎn)明教程(容易理解)
最近在教一個(gè)朋友php,他沒有其他語(yǔ)言的基礎(chǔ)。對(duì)array的理解和用法有些模糊。所以寫了個(gè)教程,需要的朋友可以參考下2014-03-03

