php中2個頁面之間的變量傳送
發(fā)表時間:2024-06-05 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]作者: 豆牙齒 在網(wǎng)站設(shè)計中,我們常常用到用戶登陸這一方法,在登陸后,一般的網(wǎng)站都會根據(jù)不同的用戶來給定不同的頁面,在鏈接到該站的一個新的網(wǎng)頁或者打開一張新網(wǎng)頁時,我們也會看到用戶的信息能夠被記住,現(xiàn)在尤其常用的是,登陸后鏈接或打開該站的其它網(wǎng)頁都會看到諸如"XXX,晚上好"之...
作者: 豆牙齒
在網(wǎng)站設(shè)計中,我們常常用到用戶登陸這一方法,在登陸后,一般的網(wǎng)站都會根據(jù)不同的用戶來給定不同的頁面,在鏈接到該站的一個新的網(wǎng)頁或者打開一張新網(wǎng)頁時,我們也會看到用戶的信息能夠被記住,現(xiàn)在尤其常用的是,登陸后鏈接或打開該站的其它網(wǎng)頁都會看到諸如"XXX,晚上好"之類的問候語,這些當(dāng)然都是在登陸后變量傳送的結(jié)果,在我做個人主頁的過程中,曾嘗試幾種變量傳送的方法,現(xiàn)寫出來與大家探討一下。
一、這是最笨的方法,也是我最初沒有接觸session、cookie想出來的方法。這種方法就是把待傳遞的變量用表單的方式再次傳送,比如在用戶登陸后,把他的信息如$username、$id等等信息用表單發(fā)送到下一張網(wǎng)頁,當(dāng)然,很多情況,是諸如text、option等等框體不想再被看到的話,可以采用隱藏的輸入域。下面是一個實例,假設(shè)$username是經(jīng)過上頁為驗證身份發(fā)送到本頁并且在本頁經(jīng)過驗證的變量,想傳遞到下一頁中去,那么可以建立文件test4.php:
<?$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,歡迎你的光臨!";?>
打開apache服務(wù)器,輸入http://127.0.0.1/test4.php在頁面的按鈕上點擊,會發(fā)現(xiàn)新出的網(wǎng)頁上$username的值已經(jīng)傳送過來了。
當(dāng)然這種方法的弱點是很明顯的,它還要再使用一個表單,而且在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,歡迎你的光臨!";?> //顯示傳遞過來的變量
使用這種方法的時候要注意:<?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,歡迎你的光臨!";?>
以上是我在設(shè)計網(wǎng)頁及參考一些文章得出的方法,這里注重的時介紹傳遞方法,而不是session和cookie的介紹,兩者具體的使用方法別的高手已經(jīng)介紹多次,我就不在這里班門弄斧了。如果文章發(fā)表后我又發(fā)現(xiàn)錯誤的話,會在下面的"發(fā)表意見"欄中給出改正方法,謝謝瀏覽。