Php 无法将新字符串放入数组

Php 无法将新字符串放入数组,php,Php,我有一个表单,当用户输入某个内容时,它会出现在屏幕上。我保留了用户在名为$output的变量中键入的文本,然后我尝试将每个$output放入名为$arrayText的数组中,我的目标是让用户键入一些内容并单击按钮,然后用户的文本显示在屏幕上,当他第二次尝试时,第一个文本仍然存在,而新文本将在下一行。然而,它只是第一次起作用。第二次,它将第二个文本替换为旧文本,这是我的代码 if (isset($_POST['putContents'])) { $output = $_POST['conte

我有一个表单,当用户输入某个内容时,它会出现在屏幕上。我保留了用户在名为
$output
的变量中键入的文本,然后我尝试将每个
$output
放入名为
$arrayText
的数组中,我的目标是让用户键入一些内容并单击按钮,然后用户的文本显示在屏幕上,当他第二次尝试时,第一个文本仍然存在,而新文本将在下一行。然而,它只是第一次起作用。第二次,它将第二个文本替换为旧文本,这是我的代码
if (isset($_POST['putContents'])) { 
  $output = $_POST['contents'];
  test();

}
function test()
{
static $arrayText = array();
    global $output;
    $arrayText[]= $output;
    for($i = 0; $i < count($arrayText); $i++){
    echo $arrayText[$i];
    echo "<br>";
  }
}

}

?>
if(isset($_POST['putContents']){
$output=$_POST['contents'];
test();
}
功能测试()
{
静态$arrayText=array();
全球美元产出;
$arrayText[]=$output;
对于($i=0;$i”;
}
}
}
?>

感谢您提前提供的帮助

通过再次执行脚本,$\u帖子将只包含上次提交的值,在您的情况下,该值将覆盖数组

如果要在当前进程之外存储数据,则必须将日期存储在$\u POST global之外的其他位置

我建议您为此使用会话,因为数据库查询肯定会超出您的需要。 使用:

如果你想访问你的旧数据,你可以只使用
$\u SESSION[“yourldtext”]

你不能在用户每次按下提交按钮后,逐行将其“收集”到一个数组中。这些行必须保存(存储)在某个地方。您可以按照建议将每一行作为记录存储在数据库或会话cookie中。我将通过将输入的行存储在表单中的隐藏输入标记中来保持状态:

<input type="hidden" name="line[0]" value="What the user typed in first" />
<input type="hidden" name="line[1]" value="The second line that was typed in" />
<input type="text" name="contents" value="" />


您确定
$\u POST['contents']
为初学者提供了一些东西吗?好的,该值仅在多个函数调用之间保留,而不是在多个脚本调用之间保留。您必须以某种方式保持该值,例如通过使用会话。
<input type="hidden" name="line[0]" value="What the user typed in first" />
<input type="hidden" name="line[1]" value="The second line that was typed in" />
<input type="text" name="contents" value="" />