使用表單來傳遞,_post它在php只能獲取由表單的 method="post" 時它才能接受到數(shù)據(jù),
創(chuàng)新互聯(lián)主營定日網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,App定制開發(fā),定日h5小程序定制開發(fā)搭建,定日網(wǎng)站營銷推廣歡迎定日等地區(qū)企業(yè)咨詢
如下代碼:
form?id="form1"?name="form1"?method="get"?action=""
label
input?type="text"?name="cn"?value='獲取到我了'?/
/label
/forma.php頁面
?
if(?$_post?)
{
echo?$_post['cn'];
}
else
{
echo?'沒有獲取到值';
}
?
1. get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)。
2. get是把參數(shù)數(shù)據(jù)隊列加到提交表單的ACTION屬性所指的URL中,值和表單內(nèi)各個字段一一對應(yīng),在URL中可以看到。post是通過HTTP post機制,將表單內(nèi)各個字段與其內(nèi)容放置在HTML HEADER內(nèi)一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
3. 對于get方式,服務(wù)器端用Request.QueryString獲取變量的值,對于post方式,服務(wù)器端用Request.Form獲取提交的數(shù)據(jù)。
4. get傳送的數(shù)據(jù)量較小,不能大于2KB。post傳送的數(shù)據(jù)量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
5. get安全性非常低,post安全性較高。但是執(zhí)行效率卻比Post方法好。
建議:
1、get方式的安全性較Post方式要差些,包含機密信息的話,建議用Post數(shù)據(jù)提交方式;
2、在做數(shù)據(jù)查詢時,建議用Get方式;而在做數(shù)據(jù)添加、修改或刪除時,建議用Post方式;
get 傳值是網(wǎng)址是 ;xxx=xxxx xxx 是參數(shù)
post 要要提交表單的 地址就不會出現(xiàn)上面的那種
辦法很多:
第一種:GET(就是URL,也就是鏈接上帶有參數(shù)),例子:
1.php(第一個頁面)
a href="2.php?arr=abc"傳遞get數(shù)組名為arr,值是abc,傳遞到2.php頁面
/a
看到?arr=abc了吧,這就是參數(shù)了,如果有兩個呢:a href="abc.php?abc=abc123=123"傳遞get數(shù)組名為abc,值是abc
/a
用這個隔開,當(dāng)然啦,在網(wǎng)頁上看就是
2.php(第二個頁面)
?php
echo $_GET['abc'];
//輸出傳遞過來的值
-------------------------------------------------------------------------
第二個辦法是:POST,表單提交,依舊是給例子:
form name="form1" method="post" action="2.php"
method的意思是以post方式提交到2.php,action的意思是動作,method是類型
隨便輸一個:
label
input type="text" name="val" /
input是html的標(biāo)簽,類型是文本域(輸入文字),名字是val(后臺用于接收的名稱)
/label
p
label
input type="submit" name="Submit" value="提交" /
/label
/p
/form
2.php(第二個頁面)
?php
echo $_POST['val'];
//輸出上一個頁面提交過來的val文本域的值。
?
-------------------------------------------------------------------------------------------
第三個辦法是:SESSION,會話。還是給例子(注意,SESSION是全局變量,也就是說,它只要被聲明,在所有頁面都是可用的,前提是你不關(guān)閉網(wǎng)頁或者沒有到SESSION的生命周期。而POST和GET只要php執(zhí)行完畢就會立刻被釋放,也就沒有了。):
1.php
?php
session_start();
//會話開始,這樣你才可以調(diào)用session
$_SESSION['val']='123';
//直接聲明全局變量val的值等于123
echo $_SESSION['val'];
?
a href="2.php"跳轉(zhuǎn)到第二個頁面去看看。
/a
2.php
?php
session_start();
echo $_SESSION['val'];
//直接輸出全局變量val.
?
--------------------------------------------------------------------------------
最后一個辦法,cookie。餅干,哈哈不過呢,這個辦法不好用,因為cookie是存放在客戶端上(也是全局變量),session是存放在服務(wù)器上。這是兩者唯一的不同
然后捏,我也沒用過cookies,所以呢。我只能百度一個給你咯,調(diào)用辦法一樣的$_COOKIE['名稱']
?php
setcookie("user", "Alex Porter", time()+3600);
//創(chuàng)建一個名為user的cookie變量,它的值是Alex Porter。它將在一個小時以后過期,也就是不能訪問了
echo $_COOKIE['user'];
//你還要刷新一下頁面才可以生效= =。。
?
?
看了你的問題,我有點暈,本來是很困的,現(xiàn)在更困了。
我覺得,你這不就是一個正常的網(wǎng)站嗎?也沒什么值需要傳吶?
你的登錄頁面向admin.php傳值這個簡單,直接用form表單就可以搞定了;
驗證的頁面完全可以和dir.php合并嘛,登錄的話都是用session或cookie完成的,反正你的每個頁面都必須要做這一步,直接合并就OK
另外你的dir.php就是一個正常了網(wǎng)頁了,也就是用戶需要瀏覽的頁面對吧?那你點了對應(yīng)的鏈接就鏈接不同的頁面,這個不是太簡單了嗎?不同的頁面去取不同的數(shù)據(jù)表,神馬大型的網(wǎng)站都是這么干的呀!
另外,要和你說的是,安全不安全不是列出了什么,重要的是你列出來的東西不要包含你的字段名,這才是影響安全的重要因素,你可以通過PHP把它轉(zhuǎn)換吶,PHP不就是做這個轉(zhuǎn)換的嗎?PHP的功能是神馬?就是做這個的呀。
另外,如果你是動態(tài)頁面,使用鏈接跳轉(zhuǎn)頁面,就必須用?+信息的方式,當(dāng)然,我說的是初學(xué),如果你學(xué)得深入了,可以用偽靜態(tài),更可以用純靜態(tài),這個先不說,先把頁面間通過get傳值弄通,你就學(xué)會PHP了,也就是說,你正式進入了PHP的大門。
不行了,熬不住了,睡覺去了.............