php中兩個網頁之間的變數傳送
日期:2006-06-26 作者:喜騰小二 來源:PHPChina
作者: 豆牙齒
在網站設計中,我們常常用到使用者登陸這一方法,在登陸後,一般的網站都會根據不同的使用者來給定不同的页面,在連結到該站的一個新的網頁或者開啟一張新網頁時,我們也會看到使用者的資訊能夠被記住,現在尤其常用的是,登陸後連結或開啟該站的其它網頁都會看到諸如"XXX,晚上好"之類
的問候語,這些當然都是在登陸後變數傳送的結果,在我做個人首頁的過程中,曾嘗試幾種變數傳送的方法,現寫出來與大家探討一下。
一、這是最笨的方法,也是我最初沒有接觸session、cookie想出來的方法。這種方法就是把待傳遞的變數用表單的方式再次傳送,比如在使用者登陸後,把他的資訊如$username、$id等等資訊用表單發送到下一張網頁,當然,很多情況,是諸如text、option等等框體不想再被看到的話,可以采用隱藏的輸入域。下麵是一個實例,假設$username是經過上頁為驗證身份發送到本頁並且在本頁經過驗證的變數,想傳遞到下一頁中去,那麼可以建立檔案test4.php:
$username="張小明";?>
建立test5.php:
開啟apache伺服器,輸入http://127.0.0.1/test4.php在页面的按鈕上按,會發現新出的網頁上$username的值已經傳送過來了。
當然這種方法的弱點是很明顯的,它還要再使用一個表單,而且在test5.php的網頁上想要重新整理的話還要重新發送,這顯然是不太友好的。
二、使用session。後來,我尋找了一些關於session的文章,覺得這時傳遞變數的一種非常好的方法。下麵透過舉例子來幫助:
建立一個新檔案test6.php:
session_register("username"); //注冊一個session變數
$username="張小明"; //要傳遞的變數值
echo "
去看看";
?>
建立test7.php:
echo "妳好,$username,歡迎妳的光臨!";?> //顯示傳遞過來的變數
使用這種方法的時候要注意:應該放在檔案的最前麵,即""前麵不應有任何內容,包括空格,這是我偵錯多次未成功找出的原因。
這個變數隻能在當前開啟的浏覽器中傳遞,若要在新開啟的視窗中也能傳遞,剛要按下麵的方法來做:
檔案:test8.php
session_register("username");
$username="張小明";
echo "
去看看"; //將當前的session的id值傳給下一個視窗。
?>
檔案test7.php
echo "妳好,$username,歡迎妳的光臨!";?>
三,透過cookie。還是透過例子幫助:
建立檔案test9.php
echo "
去看看";?>
檔案test5.php
建立test5.php:
以上是我在設計網頁及參考一些文章得出的方法,這裡注重的時介紹傳遞方法,而不是session和cookie的介紹,兩者俱體的使用方法別的高手已經介紹多次,我就不在這裡班門弄斧了。如果文章發表後我又發現錯誤的話,會在下麵的"發表意見"欄中給出改正方法,謝謝浏覽。
<<<返回技術中心