1. get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)。
創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比平輿網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式平輿網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋平輿地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
2. get是把參數(shù)數(shù)據(jù)隊(duì)列加到提交表單的ACTION屬性所指的URL中,值和表單內(nèi)各個(gè)字段一一對(duì)應(yīng),在URL中可以看到。post是通過(guò)HTTP post機(jī)制,將表單內(nèi)各個(gè)字段與其內(nèi)容放置在HTML HEADER內(nèi)一起傳送到ACTION屬性所指的URL地址。用戶看不到這個(gè)過(guò)程。
3. 對(duì)于get方式,服務(wù)器端用Request.QueryString獲取變量的值,對(duì)于post方式,服務(wù)器端用Request.Form獲取提交的數(shù)據(jù)。
4. get傳送的數(shù)據(jù)量較小,不能大于2KB。post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
5. get安全性非常低,post安全性較高。但是執(zhí)行效率卻比Post方法好。
建議:
1、get方式的安全性較Post方式要差些,包含機(jī)密信息的話,建議用Post數(shù)據(jù)提交方式;
2、在做數(shù)據(jù)查詢時(shí),建議用Get方式;而在做數(shù)據(jù)添加、修改或刪除時(shí),建議用Post方式;
get 傳值是網(wǎng)址是 ;xxx=xxxx xxx 是參數(shù)
post 要要提交表單的 地址就不會(huì)出現(xiàn)上面的那種
1.通過(guò)路徑url的自動(dòng)跳轉(zhuǎn),將變量傳過(guò)去,如post ,get
2.通過(guò)session 或cookie 直接跨頁(yè)面?zhèn)髦怠?/p>
php數(shù)據(jù)通信方式很多,常用的無(wú)非是關(guān)聯(lián)數(shù)據(jù)庫(kù),頁(yè)面與頁(yè)面之間用GET或者POST方法傳遞數(shù)據(jù),還有嵌入jq,或者json等方式進(jìn)行數(shù)據(jù)交互
辦法很多:
第一種:GET(就是URL,也就是鏈接上帶有參數(shù)),例子:
1.php(第一個(gè)頁(yè)面)
a href="2.php?arr=abc"傳遞get數(shù)組名為arr,值是abc,傳遞到2.php頁(yè)面
/a
看到?arr=abc了吧,這就是參數(shù)了,如果有兩個(gè)呢:a href="abc.php?abc=abc123=123"傳遞get數(shù)組名為abc,值是abc
/a
用這個(gè)隔開(kāi),當(dāng)然啦,在網(wǎng)頁(yè)上看就是
2.php(第二個(gè)頁(yè)面)
?php
echo $_GET['abc'];
//輸出傳遞過(guò)來(lái)的值
-------------------------------------------------------------------------
第二個(gè)辦法是:POST,表單提交,依舊是給例子:
form name="form1" method="post" action="2.php"
method的意思是以post方式提交到2.php,action的意思是動(dòng)作,method是類型
隨便輸一個(gè):
label
input type="text" name="val" /
input是html的標(biāo)簽,類型是文本域(輸入文字),名字是val(后臺(tái)用于接收的名稱)
/label
p
label
input type="submit" name="Submit" value="提交" /
/label
/p
/form
2.php(第二個(gè)頁(yè)面)
?php
echo $_POST['val'];
//輸出上一個(gè)頁(yè)面提交過(guò)來(lái)的val文本域的值。
?
-------------------------------------------------------------------------------------------
第三個(gè)辦法是:SESSION,會(huì)話。還是給例子(注意,SESSION是全局變量,也就是說(shuō),它只要被聲明,在所有頁(yè)面都是可用的,前提是你不關(guān)閉網(wǎng)頁(yè)或者沒(méi)有到SESSION的生命周期。而POST和GET只要php執(zhí)行完畢就會(huì)立刻被釋放,也就沒(méi)有了。):
1.php
?php
session_start();
//會(huì)話開(kāi)始,這樣你才可以調(diào)用session
$_SESSION['val']='123';
//直接聲明全局變量val的值等于123
echo $_SESSION['val'];
?
a href="2.php"跳轉(zhuǎn)到第二個(gè)頁(yè)面去看看。
/a
2.php
?php
session_start();
echo $_SESSION['val'];
//直接輸出全局變量val.
?
--------------------------------------------------------------------------------
最后一個(gè)辦法,cookie。餅干,哈哈不過(guò)呢,這個(gè)辦法不好用,因?yàn)閏ookie是存放在客戶端上(也是全局變量),session是存放在服務(wù)器上。這是兩者唯一的不同
然后捏,我也沒(méi)用過(guò)cookies,所以呢。我只能百度一個(gè)給你咯,調(diào)用辦法一樣的$_COOKIE['名稱']
?php
setcookie("user", "Alex Porter", time()+3600);
//創(chuàng)建一個(gè)名為user的cookie變量,它的值是Alex Porter。它將在一個(gè)小時(shí)以后過(guò)期,也就是不能訪問(wèn)了
echo $_COOKIE['user'];
//你還要刷新一下頁(yè)面才可以生效= =。。
?
?
通過(guò)session來(lái)儲(chǔ)存
?php
session_start();
$_SESSION['username'] = "userName";
?
在其它頁(yè)面直接取出就行了
?
session_start();
echo?$_SESSION['username'];
?
通過(guò)url傳向其它頁(yè)面?zhèn)鬟f參數(shù)
other.php?user=xxx
?或在php重定向到其它頁(yè)面時(shí)
$username = "xxx";
$home_url = 'logIn.php?user='.$username;
header('Location:'.$home_url);
其它頁(yè)面用$_GET["user"]來(lái)接收
3.通過(guò)表單向其它頁(yè)面?zhèn)魉蛥?shù)
其它頁(yè)面用$_POST["user"]來(lái)接收
使用表單來(lái)傳遞,_post它在php只能獲取由表單的 method="post" 時(shí)它才能接受到數(shù)據(jù),
如下代碼:
form?id="form1"?name="form1"?method="get"?action=""
label
input?type="text"?name="cn"?value='獲取到我了'?/
/label
/forma.php頁(yè)面
?
if(?$_post?)
{
echo?$_post['cn'];
}
else
{
echo?'沒(méi)有獲取到值';
}
?