【问题标题】:Struggling to write back to a JSON file from PHP where information comes from a HTML form努力从 PHP 写回 JSON 文件,其中信息来自 HTML 表单
【发布时间】:2021-12-20 13:48:04
【问题描述】:

我正在尝试从 PHP 写回 JSON 文件,其中信息来自 HTML 表单。

我不明白为什么它没有回信。

我有以下代码要写回:

if($name)
{
  if(file_exists('Location: ../assets/bookings.json'))
  {
    $bookingJson[] = array("name"=>$name,"surname"=>$surname,"email"=>$email,
    "checkIn"=>$checkIn,"checkOut"=>$checkOut,"hotel"=>$hotel);
  } else {
    {
      $bookingJson = [];
    }
  }
  file_put_contents('Location: ../assets/bookings.json', json_encode($bookingJson, JSON_PRETTY_PRINT));
}

变量是:

$name = $_POST['name'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$checkIn = $_POST['checkIn'];
$checkOut = $_POST['checkOut'];
$hotel = $_POST['hotel'];

$name = trim($name);
$surname = trim($surname);
$email = trim($email);
$checkIn = trim($checkIn);
$checkOut = trim($checkOut);
$hotel = trim($hotel);

我这辈子都无法让它发挥作用。文件结构如下:

index.php

  • 代码
  • assets/booking.json

任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 您必须从 file_exists 和 file_put_contents 中删除“位置:”。之后,您可以调试您的代码是否正在执行 if 或 else 并知道执行了哪个部分。
  • 我现在就试试这个。非常感谢您的反馈。

标签: php json backend


【解决方案1】:

我假设您想在文件存在时更新 bookings.json,并在文件不存在时创建一个新文件并保存第一行?

如果是这样,您可以使用此代码:

$name = $_POST['name'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$checkIn = $_POST['checkIn'];
$checkOut = $_POST['checkOut'];
$hotel = $_POST['hotel'];

$name = trim($name);
$surname = trim($surname);
$email = trim($email);
$checkIn = trim($checkIn);
$checkOut = trim($checkOut);
$hotel = trim($hotel);

$file = '../assets/bookings.json';

if($name)
{
  if(file_exists($file))
  {
    $bookingJson = json_decode(file_get_contents($file));
  } else {
    $bookingJson = [];
  }
   $bookingJson[] = array("name"=>$name,"surname"=>$surname,"email"=>$email,
    "checkIn"=>$checkIn,"checkOut"=>$checkOut,"hotel"=>$hotel);
  file_put_contents($file, json_encode($bookingJson, JSON_PRETTY_PRINT));
}

【讨论】:

  • 谢谢!这正是我一直在寻找的。似乎问题只是在我拥有的 Location: 标签中。这完成了我需要它做的事情(以及我想要它做的事情)。
  • 不错不错。你能接受这个答案吗?
  • 抱歉耽搁了!我已经接受了。谢谢你。 ^_^
猜你喜欢
  • 2019-03-23
  • 2021-12-07
  • 2015-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-10
  • 1970-01-01
  • 2020-10-08
相关资源
最近更新 更多