我有一個待辦事項列表程序,我希望在單擊按鈕后將其重置為 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><?phpif(isset($_POST['click'])){echo file_put_contents("test.json","[{"completed":false,"task":"Kitchen - Sweep Floor","important":false}]");}?></html>單擊按鈕時沒有任何反應,沒有錯誤或任何事情?
2 回答

守著星空守著你
TA貢獻1799條經驗 獲得超8個贊
您還沒有為表單分配操作,要使其正常工作,您應該添加當前頁面的 URL(以便它重定向到自身)。只有這樣才會發送 post 請求。
PHP 不會異步運行任何東西:東西只會在頁面加載時發生。

呼啦一陣風
TA貢獻1802條經驗 獲得超6個贊
您的腳本中有語法錯誤 - 您必須對字符串中的引號進行轉義。在開發過程中始終查看網絡服務器錯誤日志或啟用錯誤顯示。這是固定代碼:
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));
- 2 回答
- 0 關注
- 478 瀏覽
添加回答
舉報
0/150
提交
取消