我从输入框向数组插入数据。但我不知道为什么我不能打印关联数组。我只能回显输入框中的最新数据。我想将数据添加到数组中,并在每次写入输入框时回显它。
<?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>
答案 0 :(得分:2)
您每次都在创建一个新数组,然后将其添加到会话中。您需要检查数组是否已经存储,以及是否已添加该数组。
$inserted_parts = array();
session_start();
if(isset($_SESSION['views']) && is_array($_SESSION['views']))
$inserted_parts = $_SESSION['views'];