使用PHP $ _SESSION

时间:2014-07-11 14:50:05

标签: php session

我通过表单设置$_SESSION值:

<?php if(!empty($_POST)){ 

  session_start();    
  foreach ($_POST AS $key => $value) {
   $_SESSION['$key'] = $value;
  }

?>

网站上的后续页面可以访问数据:

var_dump($_SESSION);放在另一页上会显示:

array(2) { ["post"]=> array(5) { ["nickname"]=> string(6) "Andrew" ["gender"]=> string(4) "Male" ["button"]=> string(0) "" ["age"]=> string(7) "Unknown" ["location"]=> string(7) "Unknown" } ["$key"]=> string(7) "Unknown" }

我正在尝试使用以下方法获取值:

params.nick      = "<?php session_start(); echo $_SESSION['nickname']; ?>";

但它没有显示安德鲁。

我使用这个错误吗?

2 个答案:

答案 0 :(得分:0)

您有多个问题:

在单引号内部$key会导致变量不被插值。只需将$key放在没有任何引号的情况下都不需要。

<?php 
session_start(); 
if(!empty($_POST)){ 
  foreach ($_POST AS $key => $value) {
    $_SESSION[$key] = $value;
  }
}
?>

您只需将session_start()放在页面顶部一次,然后就可以在页面的其余部分正常访问会话变量。

params.nick = "<?php echo $_SESSION['nickname']; ?>";

答案 1 :(得分:0)

只需使用:

session_start();
$_SESSION = array_merge($_SESSION, $_POST);