在實際的網站開發當中,我們經常會遇到在一個頁面定義的變量,在另外一個頁面也要使用,這就需要我們在頁面之間傳遞變量。本文介紹了php中頁面之間傳遞變量方法總結,有需要的同學可以參考一下。
在實際的網站開發當中,我們經常會遇到在一個頁面定義的變量,在另外一個頁面也要使用,這就需要我們在頁面之間傳遞變量.下面介紹一些常用的方法:
一、用form表單中的hidden隱藏域。這種方法就是把待傳遞的變量用表單的方式再次傳送,比如在用戶登陸後,把他的信息如$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,歡迎光臨php自學網!";?>
打開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,歡迎光臨php自學網!";?> //顯示傳遞過來的變量
使用這種方法的時候要注意:<?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,歡迎你的光臨php自學網!";?>
總結:以上只是一些常用的方法,還有很多的方法,如可以使用數據庫,memcache等等.在此不做過多介紹