关联数组不能回显输入形式的数据

时间:2013-10-15 20:37:11

标签: php html

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

    <?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> 

1 个答案:

答案 0 :(得分:2)

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

    $inserted_parts = array();

    session_start();
    if(isset($_SESSION['views']) && is_array($_SESSION['views'])) 
        $inserted_parts = $_SESSION['views'];