我设法使用JSON
从PHP
文件中提取数据。我是PHP
和JSON
中的新手。我制作了一些html表单页面,并且我希望将登录的同一个人的数据保存在JSON
文件中的相同大括号中。另外,我没有JSON
文件的“父”和“子”类型,在会员ID中作为父项,而姓名,年龄,性别等作为子项。
例如,这是我的JSON
文件(member.json
)中同一个人的两页html表单(即注册和选择票证页面)中的内容:>
{
"name": "iron man",
"age": "54",
"gender": "male",
"email": "i@r.m",
"username": "ironman",
"Password": "ironman",
"submit": "Submit"
}{
"Journey_From": "Segambut",
"Journey_To": "Kepong",
"date": "2018-09-12",
"time": "15:43",
"Quantity": "3",
"submit": "Proceed"
}
我不知道如何将来自同一个人的不同html形式的两个输入放入一个{}
我希望它像这样:
{
"name": "iron man",
"age": "54",
"gender": "male",
"email": "i@r.m",
"username": "ironman",
"Password": "ironman",
"submit": "Submit"
"Journey_From": "Segambut",
"Journey_To": "Kepong",
"date": "2018-09-12",
"time": "15:43",
"Quantity": "3",
"submit": "Proceed"
}
我在两个html页面中都使用了此代码,以将页面的输入发送到member.json
文件。
<?php
if(isset($_POST['submit'])) {
$file = "member.json";
$json_string = json_encode($_POST, JSON_PRETTY_PRINT);
file_put_contents($file, $json_string, FILE_APPEND);
}
?>
使用“ die”代码后:
array(7) { ["name"]=> string(4) "haha" ["age"]=> string(2) "34" ["gender"]=> string(4) "male" ["email"]=> string(5) "d@w.f" ["username"]=> string(4) "haha" ["Password"]=> string(4) "haha" ["submit"]=> string(6) "Submit" }
答案 0 :(得分:0)
您可以使用arary_merge()
函数来完成此操作。
在放置任何内容之前,请检查json
文件。如果有任何可用的内容,您可以将这些json_data
提取为数组并将其与当前内容合并。然后将新的合并数组推送到json文件。
您可以查看有关我在说什么的演示代码。
append.php
<?php
function append($file, $new_json) {
$file_content = file_get_contents($file);
$previous_json = json_decode($file_content, true);
$previous_json == null ? $previous_json = [] : $previous_json = $previous_json;
$new_data = array_merge($previous_json, $new_json);
$json_string = json_encode($new_data, JSON_PRETTY_PRINT);
file_put_contents($file, $json_string);
}
然后在您要插入数据的任何页面中,仅require
append.php
文件就是这样
<?php
include_once 'append.php';
if(isset($_POST['submit'])) {
$file = "member.json";
$newData = $_POST;
append($file, $newData);
}
?>
注意:您可以使用submit1
和submit2
获取两个 submit 值。
请检查此内容以进一步了解array_merge
http://php.net/manual/en/function.array-merge.php