一、用form表單中的hidden隱藏域。這種方法就是把待傳遞的變量用表單的方式再次傳送,比如在用戶登陸后,把他的信息如$username、$id等等信息用表單發(fā)送到下一張網(wǎng)頁,當(dāng)然,很多情況,是諸如text、option等等框體不想再被看到的話,可以采用隱藏的輸入域。下面是一個實(shí)例,假設(shè)$username是經(jīng)過上頁為驗(yàn)證身份發(fā)送到本頁并且在本頁經(jīng)過驗(yàn)證的變量,想傳遞到下一頁中去,那么可以建立文件test4.PHP:
創(chuàng)新互聯(lián)網(wǎng)站建設(shè)提供從項(xiàng)目策劃、軟件開發(fā),軟件安全維護(hù)、網(wǎng)站優(yōu)化(SEO)、網(wǎng)站分析、效果評估等整套的建站服務(wù),主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè),app軟件開發(fā)公司以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。創(chuàng)新互聯(lián)深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
?$username="張明";?
form method="post" action="test5.php"
input type="hidden" name="username" value="?echo $username?"
input type="submit" name="submit" value="看看"
/form
test5.php:
?echo "你好,$username,歡迎光臨php自學(xué)網(wǎng)!";?
打開apache服務(wù)器,輸入在頁面的按鈕上點(diǎn)擊,會發(fā)現(xiàn)新出的網(wǎng)頁上$username的值已經(jīng)傳送過來了。
當(dāng)然這種方法的弱點(diǎn)是很明顯的,它還要再使用一個表單,而且在test5.php的網(wǎng)頁上想要刷新的話還要重新發(fā)送,這顯然是不太友好的。
二、使用session。后來,我查找了一些關(guān)于session的文章,覺得這時傳遞變量的一種非常好的方法。下面通過舉例子來說明:
建立一個新文件test6.php:
?session_start(); //初始化一個session
session_register("username"); //注冊一個session變量
$username="張明"; //要傳遞的變量值
echo "a href=test7.php去看看/a";
?
test7.php:
?session_start(); //初始化一個session
echo "你好,$username,歡迎光臨php自學(xué)網(wǎng)!";? //顯示傳遞過來的變量
使用這種方法的時候要注意:?session_start();?應(yīng)該放在文件的最前面,即"?"前面不應(yīng)有任何內(nèi)容,包括空格,這是我調(diào)試多次未成功找出的原因。
這個變量只能在當(dāng)前打開的瀏覽器中傳遞,若要在新打開的窗口中也能傳遞,剛要按下面的方法來做:
文件:test8.php
?session_start();
session_register("username");
$username="張明";
echo "a href=test7.php?$a=".session_id()." target=_blank去看看/a"; //將當(dāng)前的session的id值傳給下一個窗口。
?
test7.php
?session_start();
echo "你好,$username,歡迎你的光臨!";?
三,通過cookie
建立文件test9.php
?SetCookie("username","張明");//把username設(shè)置到cookie中去
echo "a href=test5.php target=_blank去看看/a";?
文件test5.php
建立test5.php:
?echo "你好,$username,歡迎你的光臨php自學(xué)網(wǎng)!";?
總結(jié):以上只是一些常用的方法,還有很多的方法,如可以使用數(shù)據(jù)庫,memcache等等.在此不做過多介紹.
可以這樣:
你要在form /form標(biāo)簽里加個隱藏的表單,如這樣:
table width="531"
tr
th width="50"姓名:/th
th width="144"?php echo $row["name"]?input type="hidden" name="realname" value="?=$row["name"]?" //th!--每個里面加上這上一個隱藏的表單,這樣你提交之后就可以在另外一個頁面獲取值了--
th width="53"性別:/th
th width="90"?php echo $row["sex"]?/th
th width="46"年齡:/th
th width="120"?php echo $row["age"]?/th
/tr
/table
input name="updata" type="submit" value="修改" /
/form
在另外一個頁面這樣獲取值:
$name=$_POST['realname']; //這樣在test.php頁面就取到人名的值了
其他值同理
使用表單來傳遞,_post它在php只能獲取由表單的 method="post" 時它才能接受到數(shù)據(jù),
如下代碼:
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?'沒有獲取到值';
}
?