单击输入按钮时,php数组再次为空

时间:2014-11-12 12:42:06

标签: php

我正在使用PHP为学校做一个待办事项应用程序。 我面临的问题是: 我有3个文件:index.php,application.php和CSS

我的问题: 每次添加新任务时,我的数组都会再次为空,只会显示最新添加的项目。

我认为问题在于" application.php"每次添加任务时都会再次加载。但我不确定如何解决这个问题。

Index.php:

<form action="/Periodeopdracht/index.php" method="POST">
<div class="headerToDo">
    <input class="addText title" type="text" value="Click to add a to do" name="nextToDo">
    <input class="clickablePlus" type="submit" value="+" name="submit">
</div>
</form>

<?php if(!$empty): ?>
    <?php foreach ($newToDo as $toDo): ?>
    <div class="toDo">
        <div class="textToDo"><?= $toDo ?></div>
    </div>
    <?php endforeach ?>
<?php endif ?>

Application.php:

<?php

$GLOBALS['empty'] = true;
$GLOBALS['newToDo'] = array();

if(isset($_POST["submit"]))
{
    $empty = false;
    array_unshift($newToDo, $_POST["nextToDo"]);
}

var_dump($newToDo);

?>

2 个答案:

答案 0 :(得分:0)

看起来你没有在任何地方保存当前的待办事项列表

您的应用可以执行此操作(非常简单,如果您希望将列表存储在会话中)

session_start();

$_SESSION['todoList'] = isset($_SESSION['todoList']) ? $_SESSION['todoList'] : array();

if(isset($_POST["submit"]))
{
    $empty = false;
    array_unshift($_SESSION['todoList'], $_POST["nextToDo"]);
}

答案 1 :(得分:0)

如果你不能使用数据库存储现有任务,你可以使用一个简单的文本文件来存储(追加!)文件末尾的新数据。

U也可以轻松读取文本文件的内容以显示现有数据,例如每行==一个任务

保存数据

$fh = fopen('tasks.txt', 'a');
fwrite($task, $fh);
fclose($fh);

显示数据

$fh = fopen('tasks.txt', 'r');
$content = fread($fh, filesize('tasks.txt'));
fclose($fh);

就像一个想法。确保每个任务都在一行中,这样你就可以轻松地通过for循环遍历$ content