我有一个待办事项列表程序,我希望一旦单击按钮,就可以将它重置为json文件中的预定义json集。例如,如果json文件中装满了数据,并且有人单击了按钮,我希望它编辑json文件以说:
[{"completed":false,"task":"Kitchen - Sweep Floor","important":false}]
这是使用最新的稳定php版本的cpanel最新版本。我尝试了fwrite和file_put_contents,但似乎无法正常工作。
这是我已经尝试过的:
<html>
<h2>Click</h2>
<form action="" method="post">
<button name="click" class="click">Click me!</button>
</form>
<?php
if(isset($_POST['click']))
{
echo file_put_contents("test.json","[{"completed":false,"task":"Kitchen - Sweep Floor","important":false}]");
}
?>
</html>
单击按钮时什么都没有发生,没有错误或什么?
答案 0 :(得分:0)
您尚未为表单分配任何操作,为此,您应该添加当前页面的URL(以便它重定向到其自身)。只有这样才能发送发布请求。
PHP不会异步运行任何东西:仅在页面加载时发生。
答案 1 :(得分:0)
您的脚本中有语法错误-您必须转义字符串中的引号。在开发过程中,请始终查看网络服务器错误日志或启用错误显示。 这是固定代码:
echo file_put_contents("test.json","[{\"completed\":false,\"task\":\"Kitchen - Sweep Floor\",\"important\":false}]");
您应该使用类似json_decode的名称。不要手动构建json:
$data = array(
"completed"=>false,
"task"=>"Kitchen - Sweep Floor",
"important"=>false
);
echo file_put_contents("test.json",json_encode($data));