0

我从输入框将数据插入到数组中。但我不知道为什么我不能打印关联数组。我只能回显输入框中的最新数据。我想将数据添加到数组并在每次写入输入框时回显它。

    <?php
    $part_insert_message = "";

    $inserted_parts = array();

    session_start();

    $part_inserted_id;
if(isset($_POST['submit'])) {
    $part_inserted_id = $_POST['arrdata'];
    $inserted_parts[$part_inserted_id] = $part_inserted_id; 
    echo sizeof($inserted_parts);
    // store session data
    $_SESSION['views']= $inserted_parts;
    $part_insert_message = "ID: " . $part_inserted_id;
}

?>

<html>
<body>
<div>
<h2>Part</h2>
<form action="array_session_example.php" enctype="multipart/form-data" name="myForm" id="myform" method="post">
Array Data: <input type="text" name="arrdata"><br>
<input type="submit" name="submit" value="Submit">
</form>
<?php echo $part_insert_message;
    foreach($inserted_parts as $key => $value){
        echo $key;
    }
?>
</div>
</body>
</html> 
4

1 回答 1

2

您每次都创建一个新数组,然后将其添加到会话中。您需要检查一个数组是否已被存储,以及它是否已添加到该数组中。

    $inserted_parts = array();

    session_start();
    if(isset($_SESSION['views']) && is_array($_SESSION['views'])) 
        $inserted_parts = $_SESSION['views'];
于 2013-10-15T20:41:23.310 回答