每个$ _POST后覆盖PHP $ _SESSION数据

时间:2014-01-08 19:10:00

标签: php session

我将数据发送到PHP文件并使用$_SESSION存储它。我想在不同时间向会话发布多个数据实例,并在前端查看这些实例。目前我可以在我的会话中存储一个项目,这会显示在前端,但是我很难添加artisttitle的更多实例,因为每次我{{1}都会被覆盖跨越数据。

如何在会话变量中存储和显示$_POST数据数组?我尝试在$_POST[]之后再添加一组$_SESSION['artist'],但这不起作用。

$_SESSION['title']

2 个答案:

答案 0 :(得分:2)

您需要使用数组来保存这些值,因此$array[] = $value会将$value追加到$array

示例:

if(isset($_POST['title'])) {
     // Append POST data to SESSION
     $_SESSION['titles'][] = $_POST['title'];
}

print_r($_SESSION['titles']);

您无需确保$array实际上是一个数组,因为[]会在需要时将变量设为数组:Note: array_push() will raise a warning if the first argument is not an array. This differs from the $var[] behaviour where a new array is created.

答案 1 :(得分:0)

<?php
      session_start();
      if(isset($_POST['artist']))
   {
      $_SESSION['artist'][] = $_POST['artist'];
   }
     if(isset($_POST['title']))
   {
     $_SESSION['title'][] = $_POST['title'];
   }    

     print_r($_SESSION['artist']);
     echo "<br>";
     print_r($_SESSION['title']);
?>

用于存储它的用户数组。