2017-04-19 70 views
2

嗨,我知道如何將post的值存儲到session,但是如何將session值存儲到後。 post到會議

$_SESSION['name'] = $_POST['name']; 
    $_SESSION['email'] = $_POST['email']; 
    $_SESSION['mno'] = $_POST['mno']; 
    $_SESSION['age'] = $_POST['age']; 

我存儲在session一個數組,我想它storepost

我可以這樣做嗎?如果是,那麼如何?

我想從session

+0

你把在session_start();在文件的開始處? – boroboris

+0

也看看這個答案:http://stackoverflow.com/questions/29725387/after-using-a-form-post-how-can-i-store-the-variable-in-session – boroboris

+0

是的....這就是爲什麼我的價值存儲在會話 – Vivek

回答

1

$_POST不是永久性商店,你可以放東西。的$_POST的一點是,它是在請求開始填充,與被傳遞到服務器客戶端(通常,網絡瀏覽器)的數據。

可以寫入該數組,但它不會有任何特殊效果。這只是一個數組變量,可以在您的代碼的所有範圍內全局使用。通常情況下,你只是想創建一個新的數組,並指定任何你想在那裏:

$data = []; 
$data['stored_foo'] = $_SESSION['foo']; 
$data['submitted_foo'] = $_POST['foo']; 

參見Why are Global Variables Evil?

如果你想將數據發送回瀏覽器,就可以:

  • 把它放在輸出(使用echo等)
  • 把它在HTTP頭(使用header()功能)
  • 把它放在一個cookie(其將作爲HTTP報頭被髮送,由setcookie()函數製作你)
+0

thankx分享此信息。我通常認爲我們可以通過'form'或'ajax'在'post'中插入'value' – Vivek

+0

@Vivek是的,當您提交表單或發送AJAX請求時,瀏覽器會向服務器發送一些數據。這些數據由PHP解析並放入一個名爲'$ _POST'的新數組中。在下一個請求中,會有不同的數據(或者可能沒有),所以每次都會使用不同的數據創建'$ _POST'。 – IMSoP

+0

當我做這個'$ _POST ['profile'] = $ _SESSION ['profile'];' – Vivek

1

相對應的工作存儲在post所有array值沒有任何問題。

$_POST['name'] = $_SESSION['name']; 
    $_POST['email'] = $_SESSION['email']; 
    $_POST['mno'] = $_SESSION['mno']; 
    $_POST['age'] = $_SESSION['age']; 

如果你想保存數組,你可以做這樣的:

$datapost = array ('name' => $_SESSION['name'], 'email' => $_SESSION['email']); 
$_POST['info'] = $datapost; 
+0

我可以存儲數組以及.. ..?像這樣$ _POST = $ _SESSION ['profile']; – Vivek

+0

是的 - $ _POST也可以保存一個數組,但沒有問題,但不建議使用$ _POST的原因。 –

+0

這清除了一個關於php thinkx的更多概念 – Vivek