【发布时间】:2018-05-25 20:59:23
【问题描述】:
所以我想通过 PHP 编辑 json 文件中的 n 关联数组中的项目。 newcontent 和 index 来自一个通过 POST 将它们发送到这个 php 文件的 javascript。 JSON 文件如下所示:
[{"title":"This is a title","content":"foo bar","date":"Friday 25th May 2018
10:52:01 PM"}]
还有 PHP:
<?PHP
if (isset($_POST['newcontent']) && isset($_POST['index'])) {
$data = file_get_contents("news.json");
$decoded = json_decode($data);
$index = $_POST['index'];
$newcontent = htmlspecialchars($_POST['newcontent']);
$newdate = date('l jS F Y h:i:s A');
$decoded[$index]["content"] = $newcontent;
$decoded[$index]["date"] = $newdate;
$output = json_encode($decoded);
file_put_contents("news.json", $output);
}
?>
所以这应该做的是通过索引值在json中选择正确的数组元素。然后将“content”键的值更改为它从 POST 获得的 $newcontent,将“date”键的值更改为 $newdate。然后将其写回json文件“news.json”。但它只是不想编辑文件。它不会给我一个错误,它只是什么都不做。该文件保持不变。我检查了控制台,POST 工作正常。
编辑:经过进一步测试,我发现条件 isset($_POST['newcontent'] 没有返回 true,因此其余代码实际上并没有运行
【问题讨论】:
-
向我们展示 JSON 文件。还有,你为什么要这样做?好像您在这里编写自己的数据库。您是否使用过MySQL 或其他数据库?
-
这将是 JSON 文件的样子 [{"title":"This is a title","content":"foo bar","date":"Friday 25th May 2018 10: 52:01 PM"}] 我用 php 从这个数组中删除元素没有问题,但是编辑它们给我带来了问题。我为什么要这样做?嗯,我主要是一个 python 人,想熟悉 javascript 和 php。
-
将其添加到您的问题中。还要添加您正在尝试做的事情。我感觉到您正在尝试使用数据库。
标签: javascript php json ajax post