2011-12-19 56 views
0

我想在一個php頁面中創建一個變量,然後使用它另一個PHP頁面,有什麼辦法可以做到這一點?我如何發送一個變量跨越php頁面

+0

這兩個php頁面如何相互連接?在瀏覽器中有鏈接?是這樣的:[PHP的變量 - 乘以頁面](http://stackoverflow.com/questions/6998386/php-variable-multiply-pages)? – hakre 2011-12-19 18:39:25

回答

0

你可以把會話變量的東西,可以在任何頁面

0

如果你很在意連接兩個PHP頁面,你可以將其添加一個鏈接:

one.php:

<a href="two.php?variable=<?php echo rawurlencode($variable);>"link</a> 

two.php:

<?php echo htmlspecialchars($_GET['variable']); ?> 

請參閱​​和$_GET­Docs

1

使用會話變量。

首先,您想要使用會話的每個頁面都需要具有函數session_start();在每頁的頂部宣佈。然後,您可以使用超全局會話來存儲事物。

Page1.php: 
    <?php 
    session_start(); 
    $_SESSION['variable_name'] = 'some string'; 
    ?> 

Page2.php: 
    <?php 
    session_start(); 
    echo $_SESSION['variable_name']; 
    ?> 

使page2.php會顯示:一些字符串

可以存儲字符串,整數,數組等好運氣。

+0

@ p.campbell謝謝,我在那裏困惑了一秒,因爲我正在做你所做的事情,你只需要10秒就能擊敗我。 – TamDenholm 2011-12-19 18:48:42

1

有很多方法可以做到這一點,這取決於您的設置和您的需求。

  • 其中最常見的方法是使用session變量。這將以一種可在PHP應用程序中的任何位置訪問的方式存儲服務器端的值。儘管如此,價值最終會超時並且如果不在其他地方持續存在,將會丟失。
  • 您可以將值存儲在cookie中。這意味着瀏覽器每次訪問頁面時都會發送該值,所以網絡開銷會增加一點。這將允許您將Cookie設置爲永不過期,以便在多次訪問網站時該值始終保持不變。但是,由於存儲在客戶端,Cookie也受到用戶的支配。有些用戶可能不允許您設置cookie,有些可能會在之後刪除它們等。
  • 您可以將該值存儲在某種持久性服務器端存儲設備中,例如database或甚至只是file。這將允許您管理數據服務器端並將其持久性與PHP應用程序分開,因爲應用程序對於長期數據持久性而言更加短暫且不可靠。
  • 您甚至可以將該值添加到一個頁面中的超鏈接,以將其作爲URL參數傳遞給其他頁面。例如:<a href="otherpage.php?value=<?php echo urlencode($someValue) ?>">click here</a>這將允許您將值傳遞到下一頁,然後在使用後將其完全遺忘,如果您不需要保留其他值。

與許多事情一樣,您有很多選擇。

0

您需要一個會話變量。 讓這樣的:

$_SESSION['my_var'] = 'your_value'; 

然後,你只需要無處不在,你需要它作爲一個全局變量來使用$_SESSION['my_var']。 請注意,您必須將session_start();放在想要使用PHP會話的任何地方的文件代碼的第一行。

相關問題