我是php和javascript的新手,但是我对PHP很好奇。我想每次通过输入表单添加新元素时将元素添加到空数组中,然后我希望将这些元素显示在浏览器中。我使用的代码是
<form action="index.php" method="POST">
<input type="text" name="name" placeholder="name"><br><br>
<input type="submit" name="submit" value="enter"><br><br>
</form>
<?php
if (isset($_POST['submit'])) {
$_SESSION['names']=array();
$names=$_SESSION['names'];
$name=$_POST['name'];
array_push($names,$name);
for($i=0;$i<count($names);$i++){
echo $names[$i];
}
};
我如何实现显示我通过php输入字段添加的数组内的每个元素?
答案 0 :(得分:0)
由于每次擦除页面$_SESSION['names']=array();
时都要擦除数组,因此每次都覆盖该值。相反,请先检查该会话变量是否存在(并且是一个数组),然后首先;如果不存在,请然后创建它。否则,只需追加到该数组即可。
<form action="index.php" method="POST">
<input type="text" name="name" placeholder="name"><br><br>
<input type="submit" name="submit" value="enter"><br><br>
</form>
<?php
session_start();
if (isset($_POST['submit'])) {
if (!isset($_SESSION['names']) || !is_array($_SESSION['names'])) {
$_SESSION['names'] = array();
}
$name = $_POST['name'];
$_SESSION['names'][] = $name;
$num_names = count($_SESSION['names']);
for($i=0;$i<$num_names;$i++){
echo $_SESSION['names'][$i];
}
};