2011-10-05 13 views
0

我的根目錄中的一頁顯示從數據庫收集的文本。PHP - 從前一頁收集ID

此頁面有一個唯一生成的ID。此頁面上的鏈接將用戶重定向到同一根目錄中的另一個頁面。在第二頁上,我需要從上一頁收集特定ID(/ URL),並將其用作變量。

我該如何儘可能平滑地做到這一點?

我可以將ID值從一個頁面「發送」到另一個頁面嗎?

回答

1

在你從鏈接頁面..

<href="http://www.yoursiteurl.com/yournewpage.php?passedInId=<?php echo $theIdToCarryOver; ?>">link text</a> 

在yournewpage.php,投你的價值爲一個整數確保接收頁面始終得到整數

$id = intval($_GET['passedInId']); 
+0

爲什麼需要:<?php echo $ theIdToCarryOver; ?>? – NorS

+0

這是作爲查詢字符串的一部分傳遞到下一頁的值。 $ theIdToCarryOver只是一個任意的變量名。使用任何你想放置的變量 – user466764

-1

您可以設置有一個數組鍵$ _ POST一個<input type="hidden" id="uniquestring" value="yourvalue">

然後使用GET/POST [「uniquestring」]偉馳值爲「yourvalue」

編輯:當然,這只是針對非 - 私人信息,因爲它可以在源代碼中查看。 出於安全原因,我更喜歡上述會議解決方案

0

是的,你可以通過使用$_GET陣列。

1

當然,只是把它添加到URL作爲參數

www.mysite.com/?id=1 

www.mysite.com/index.php?id=1; 

,並在頁面(可能的index.php)你$ _GET檢索超全局:

$id = intval($_GET['id']); 

甚至更​​好,我們檢查數組鍵調用前設置:

$id = isset($_GET['id']) ? intval($_GET['id']) : '0'; 

在這裏我確保id是數字。如果有必要,您應該根據介質從外部檢索/檢索/轉義,就像在這種情況下一樣。

在此之後,您可以添加任何其他值,只需添加一個&符(&)。

www.mysite.com/index.php?id=1&page=2 

$id = $_GET['id']; 
$page = $_GET['page']; 
2

您可以將該值設置在會話變量中供以後使用。

// Start the session 
session_start(); 

// ID variable generated 
$generated_id = 12345; 

// Create the session variable 
$_SESSION['id'] = $generated_id; 

然後在第二頁上檢索的變量

// Start the session 
session_start(); 

// Retrieve the variable 
$generated_id = $_SESSION['id']; 

echo $generated_id; 

// Destroy session (if desired) 
unset($_SESSION['id']); 
+0

這個答案到底是什麼錯誤?因爲我認爲在會話中保存id變量要比在get var中傳遞它要好得多(即當用戶更改url中的id時會發生什麼......) – giorgio

+0

@giorgio謝謝giorgio,我同意你的看法,它很整潔。隨意投票:) – Luke

+0

只有當你刪除或你的答案的一部分:你已經得到了! – giorgio