2017-04-19 65 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