if (isset($_SESSION['user'])) {
$plik = 'users/'.$_SESSION['user'].'/settings.json';
$file = fopen($plik, "a+");
@fclose($plik);
$jsonString = file_get_contents($plik);
$data = json_decode($jsonString, true);
if ((isset ($_POST['s_pm'])) && $_POST['s_pm']=="on")
$data["set_friendreq"] = 1; else $data["set_friendreq"] = 0;
if (isset($_POST['dsp']))
$data["set_displayname"] = $_POST['dsp'];
$newJsonString = json_encode($data);
file_put_contents($plik, $newJsonString);
}
所有内容都被保存到JSON文件中没有任何问题(例如set_friendreq
,因为它是一个数字),但是当我尝试发送字符串时," 0"出现在我的JSON文件(set_displayname
)中。为什么呢?
JSON文件:
{"set_friendreq":0,"set_displayname":"0","lang":"2"}
答案 0 :(得分:0)
对于set_friendreq它是0因为type是Integer,你在字符串代码中初始化它们。
$data["set_friendreq"] = 1; else $data["set_friendreq"] = 0;
$ _ POST - 它的数组字符串,在你尝试使用json_decode时,请参阅" 0"。 Becasue 0它的字符串不是整数。你对变量类型有问题。