2013-02-27 78 views
0

我有一個名稱文本區域的窗體。該表單會導向主頁面,我使用$_GET['name'],然後將其存儲到會話中並稍後使用。我需要每個會話都是獨一無二的,所以我使用$_GET來幫助他們命名。Differenet方式多次從同一表格獲取數據

我現在面臨的問題是我需要多次使用該表單並存儲基於該$_GET的多個會話,但每次我$_GET它都會更改以前的會話名稱。

什麼是解決這個問題的更好方法?

喜歡的東西:

if (isset($_GET['name'])) 
{ 
    $_SESSION['name_' . $_GET['name']] = $_GET['name']; 
} 
+0

你能否提供I代碼示例,不知道你在做什麼。 – AmazingDreams 2013-02-27 23:17:23

+0

And ...默認會話對每個用戶都是唯一的。你不應該做任何事情來使一個會議獨一無二。 – Leeish 2013-02-27 23:18:00

+0

@Leeish我沒有使用這個用戶,名稱只是一個例子。 – 2013-02-27 23:18:28

回答

1

你想要獨特嗎?試試這個:

$_SESSION['my_unique_key'] = time(); 
$myS = $_SESSION['my_uniqie_key']; 
$_SESSION['name_' . $_GET['name'] . '_' . $myS] = $_GET['name']; 

注意

$_SESSION['my_unique_key'] 

將持有唯一密鑰(幾乎是唯一的),因爲它得到的時間戳。所以每次你設置會話時都會得到唯一的密鑰,所以每次提交表單都會有不同的時間戳,這將使得唯一性。

+0

感謝宣傳廢話... – AmazingDreams 2013-02-27 23:30:39

+0

@AmazingDreams爲什麼這個廢話?這似乎是一個聰明的方法來做到這一點? – 2013-02-27 23:31:09

+0

很明顯,這個問題是基於對PHP會話缺少的知識/理解。 – AmazingDreams 2013-02-27 23:32:49

0

我不知道如果我理解正確的話,但如果你想同一個用戶,瀏覽器或任何的許多會議之間交換一些值,我會建議使用餅乾。他們是頁面獨立的,當然可以禁用cookies。