PHP頁面之間傳遞參數的四種方式

來源:互聯網
上載者:User

假設我們定義page01.php和 page02.php兩個php檔案,將page01中的內容想辦法傳遞到page02,然後供我們繼續使用。

第一種:
使用用戶端瀏覽器的cookie。cookie很容易理解,就是一個臨時檔案,可以把它看成一個儲藏室,瀏覽器在瀏覽的過程中記錄一些資訊,就暫時存放在 這裡。
在page01中設定一個cookie。
<?php 
       setcookie('mycookie','自靈');
?>
就是這麼簡單,我們已經建立cookie完畢。
我們定義了一個變數mycookie,它的值是字串'自靈'。
我們可以隨便給cookie變數起名字,可以定義多個cookie變數。

在page02頁面接受cookie。
<?php
     $wuziling = $_COOKIE['mycookie'];
     echo $wuziling;
?>
我們使用$_COOKIE[]提取cookie中的變數mycookie,將它的值付給$wuziling。然後簡單的輸出。
好了,到這裡使用cookie從頁面之間傳遞參數完畢。

第二種:
使用伺服器端的session。理解session是一件很容易的事情。與cookie的不同在於它是伺服器端的臨時儲藏室。session常被稱作會 話。
在page01中設定一個session。
<?php 
session_start();
$_SESSION["temp"]=array('123','456','789');
?>
要想使用session,必須啟動session。session_start();就是啟動session的方法。一般要寫在最前面。
第二個語句我定義了一個$_SESSION["temp"]數組,數組的名稱是$_SESSION["temp"],裡面儲存了3個字串。
在page02頁面接受session。
<?php 
     session_start();
     for($i=0;$i<3;$i++)
     {
             echo $_SESSION['temp'][$i].'<br />';
     }
?>
首先啟動會話。啟動後我們在page01定義的變數已經可以使用了,不需要其他任何擷取的操作,這裡不同於cookie。
下面我們使用for迴圈將其內容輸出。
【不要以為$_SESSION['temp'][$i]是一個二維數組,它是個一維數組,數組的名稱是$_SESSION["temp"],雖然這個名稱 比較繁瑣,數組的下標是'temp'】
【我們在寫$_SESSION["temp"]時,temp加雙引號或者單引號都是等價的。】
【這裡我們定義會話變數時定義的是數組,也可以定義普通變數,就像cookie裡面講到的】

第三種:
使用表單來傳遞。
page01.php這樣寫:
<form action="page02.php" method="post">
     <input type="text" name="wuziling" />
     <input type="submit" name="submit" value="提交" />
</form>
表單內的屬性action直接指定此表單內容傳遞到哪個頁面。method指明了傳遞的方式。post代表使用訊息傳遞,就像我們發簡訊一樣。
page02.php這樣寫:
<?php 
     $wu = $_POST['wuziling'];
     echo $wu;
?>
使用$_POST[ ]擷取傳遞過來的變數值。這個變數名wuziling在表單的input標籤的name屬性裡定義。
然後將其傳遞給另外一個變數$wu。這樣我們就可以輸出了。直接輸出也是可以的,echo   $_POST['wuziling'];
【如果哪裡不明白,請參考本版塊的另外一個詳細介紹表單提交的文章】
【method的值也可以是get】

第四種:
使用超連結傳遞參數。我們上網的很多操作都是點擊超連結在網頁之間跳來跳去。點的同時同樣可以傳遞參數。
page01.php這樣寫:
<?php 
$var = 'I love you !';
?>
<a href="http://wukui2001.blog.163.com/blog/<?php echo "page02.php?new=".$var ?>">get</a>
定義一個變數$var。
超連結a的href屬性裡寫明要跳轉到page02頁面。後面加一個問號,一個自己定義的變數new【此名稱在page02頁面要使用】,new的值就是 我們想傳遞的$var。
page02.php這樣寫:
<?php
     echo   $_GET['new'];
?>
使用$_GET[ ]擷取new的值,然後就可以輸出或做其他用途。
這時的瀏覽器地址欄可以直接看到new變數和它的值。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.