You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP处理$_POST表单提交后JSON仅存储Lng字段问题如何解决?

问题原因
  1. 后端提交处理逻辑的循环存在错误:遍历所有字段的循环中,每次都直接给$temp变量赋值为仅包含当前字段的新数组,前序字段的内容会被直接覆盖,循环结束后$temp里仅会保留最后一个字段(也就是Lng)的键值对,最终存入JSON的就只有这一个字段。
  2. 代码存在语法疏漏:$arr["data"] =$data1 语句末尾缺失分号,在部分PHP运行环境下会直接引发报错。
修复方案

把后端提交处理的代码替换为如下内容即可:

$data1 = $arr["data"];
$data = $arr["columns"];
$pars = explode(',', $data);
// 先初始化空数组存储整行数据
$temp = [];
foreach ($pars as $value) {
    // 往同一个数组里追加当前字段的键值对,不覆盖整个数组
    $temp[$value] = $_POST[$value];
}  

// 写入数据
array_push($data1, $temp);
$arr["data"] = $data1;
if (file_put_contents('tables/test.json', json_encode($arr, JSON_PRETTY_PRINT))) {
    echo 'submitted';
} else {
    echo 'failed';
}

内容的提问来源于stack exchange,提问作者Maharlikan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 19:54:00