程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php編程中網頁之間的變量傳遞

php編程中網頁之間的變量傳遞

編輯:關於PHP編程

在網站設計中,我們常常用到用戶登陸這一方法,在登陸後,一般的網站都會根據不同的用戶來給定不同的頁面,在鏈接到該站的一個新的網頁或者打開一張新網頁時,我們也會看到用戶的信息能夠被記住,現在尤其常用的是,登陸後鏈接或打開該站的其它網頁都會看到諸如"XXX,晚上好"之類  **的問候語,這些當然都是在登陸後變量傳送的結果,在我做個人主頁的過程中,曾嘗試幾種變量傳送的方法,現寫出來與大家探討一下。**
一、這是最笨的方法,也是我最初沒有接觸session、cookie想出來的方法。這種方法就是把待傳遞的變量用表單的方式再次傳送,比如在用戶登陸後,把他的信息如$username、$id等等信息用表單發送到下一張網頁,當然,很多情況,是諸如text、option等等框體不想再被看到的話,可以采用隱藏的輸入域。下面是一個實例,假設$username是經過上頁為驗證身份發送到本頁並且在本頁經過驗證的變量,想傳遞到下一頁中去,那麼可以建立文件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服務器,輸入http://127.0.0.1/test4.php在頁面的按鈕上點擊,會發現新出的網頁上$username的值已經傳送過來了。**
當然這種方法的弱點是很明顯的,它還要再使用一個表單,而且在test5.php的網頁上想要刷新的話還要重新發送,這顯然是不太友好的。**
二、使用session。後來,我查找了一些關於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();?>應該放在文件的最前面,即"<?"前面不應有任何內容,包括空格,這是我調試多次未成功找出的原因。**
這個變量只能在當前打開的浏覽器中傳遞,若要在新打開的窗口中也能傳遞,剛要按下面的方法來做:**
文件:test8.php**
<?session_start();**
session_register("username");**
$username="張小明";**
echo "<a href=test7.php?$a=".session_id()." target=_blank>去看看</a>";   //將當前的session的id值傳給下一個窗口。**
?>**
文件test7.php**
<?session_start();**
echo "你好,$username,歡迎你的光臨!";?>**
三,通過cookie。還是通過例子說明:**
建立文件test9.php**
<?SetCookie("username","張小明");//把username設置到cookie中去**
echo "<a href=test5.php target=_blank>去看看</a>";?>**
文件test5.php**
建立test5.php:**
<?echo "你好,$username,歡迎你的光臨!";?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved