我正在使用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);
?>
答案 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