Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php $\u发布foreach以添加新输出_Php_Html_Foreach - Fatal编程技术网

Php $\u发布foreach以添加新输出

Php $\u发布foreach以添加新输出,php,html,foreach,Php,Html,Foreach,标题可能不是很清楚。这是我的代码: <form method="post" action=""> <input type="text" name="value"> <input type="submit"> </form> <?php if (is_array($_POST['value'])) { foreach ($_POST['value'] as $k) { echo "" . $k . "<br>";

标题可能不是很清楚。这是我的代码:

<form method="post" action="">
<input type="text" name="value">
<input type="submit">
</form>

<?php
if (is_array($_POST['value'])) {
    foreach ($_POST['value'] as $k) {
    echo "" . $k . "<br>";
    $k++;
    }
} else {
echo $_POST['value'] . " is not an array";
} ?>

基本上我想做的是输入一个字符串,让我们说“你好”。我希望浏览器输出字符串“Hello”,然后我将能够输入另一个字符串“World”。然后继续输入字符串,让浏览器一个接一个地输入字符串,就像这样

你好
世界
等等


提前谢谢你

您必须发布所有数据,而不仅仅是要保存的新元素,因为php不存储
$\u post
永久数据

<form method="post" action="">
<input type="text" name="value[]" />
<?php
if (is_array($_POST['value'])) {
    foreach ($_POST['value'] as $k) {
    echo '<input type="hidden" name="value[]" value="'.$k.'">;
}
?>
<input type="submit">
</form>

<?php
if (is_array($_POST['value'])) {
    foreach ($_POST['value'] as $k) {
        echo "" . $k . "<br>";
    }
} else {
    echo $_POST['value'] . " is not an array";
} ?>


您需要使用PHP会话之类的东西来存储发布的值,然后在循环中逐个输出所有值

<form method="post" action="">
<input type="text" name="value">
<input type="submit">
</form>

<?php

session_start();
if(array_key_exists('value',$_POST)){
    $_SESSION['values'][] = $_POST['value'];
}

if(count($_SESSION['values'])){
    foreach($_SESSION['values'] as $value){
        echo $value.'<br>';
    }
}


考虑使用会话:

<form method="post" action="">
<input type="text" name="value">
<input type="submit">
</form>

<?php
session_start();
$_SESSION['words'][] = $_POST['value'];

foreach ($_SESSION['words'] as $k) {
    echo "" . $k . "<br>";
}

?>


不要增加
$k
,这就是为什么每个调用都有几个
。每个php调用都是完全独立的。如果您想让表单跟踪以前输入的单词,您必须采取措施。隐藏的表单字段、会话变量等等。