小编典典

每次单击提交时添加列表项

sql

我想要一个脚本,每当我单击“提交”按钮时,该脚本就会将表单中的文本回显到div标签。

我能够立即执行此操作,但是我希望即使我提交另一个文本,文本也仍会显示在div中。我希望每个新提交的文本都创建一个列表。将其添加到上一个列表。

可能与数据库有关,但我想知道,每次单击提交时,我只会得到当前提交的文本。

这样的脚本的例子

<?php 
$text = $_POST['text'];

?>
<html>
<div>
<?php echo "<ul>";
echo "<li>".$text."</li>";
echo "</ul>";
?>
</div>

<form method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="text" /><br/>
<input type="submit" value="Submit"/>
</form>

</html>

我只想在<li>每次单击提交时将条目添加到列表中。


阅读 156

收藏
2021-04-07

共1个答案

小编典典

我很高兴你玩得开心。这是一个快速的“入门10” :)

<?php
$items = array();
if('POST' === $_SERVER['REQUEST_METHOD']) {
    if( ! empty($_POST['item'])) {
        $items[] = $_POST['item'];
    }
    if(isset($_POST['items']) && is_array($_POST['items'])) {
        foreach($_POST['items'] as $item) {
            $items[] = $item;
        }
    }
}
?>
<html>
    <head>
        <title>Demo</title>
    </head>
    <body>
        <?php if($items): ?>
            <ul>
                <?php foreach($items as $item): ?>
                    <li><?php echo $item; ?></li>
                <?php endforeach; ?>
            </ul>
        <?php endif; ?>
        <form method="post">
            <input type="text" name="item" />
            <input type="submit" value="Add Item" />
            <?php if($items): ?>
                <?php foreach($items as $item): ?>
                    <input type="hidden" name="items[]" value="<?php echo $item; ?>" />
                <?php endforeach; ?>
            <?php endif; ?>
        </form>
    </body>
</html>
2021-04-07