【问题标题】:PHP/frontend interactionPHP/前端交互
【发布时间】:2017-01-06 18:47:02
【问题描述】:

遇到了一些麻烦。网络开发新手。我正在尝试制作一个从 Particle Photon 板接收数据的简单应用程序 - 使用 webhook,每次板端发生特定事件时,都会通过 POST 发送 JSON。我正在运行一个 Apache 网络服务器。我想用 PHP 处理 POST 请求,然后让 PHP 以某种方式更新用户看到的内容。现在我只有 index.php,有以下内容:

<html>
<head>
</head>
      <body>
        <div>
          <?php
           if ($_SERVER["REQUEST_METHOD"] == "POST")
          { 
            $data = json_decode(file_get_contents("php://input"));
          // do something with $data
          }
          ?>
          
       </div>
     </body>
</html>

我不担心输入验证,我只想要基本功能。我的思路是webhook发送这个POST请求(它发送到index.php,并且看起来是工作的),然后index.php会被触发,然后显示POST请求信息。我似乎无法让 index.php 接收 POST 请求。我试过 var_dump、echo,但它都返回空白或 NULL。我对这种设置的理解是否存在固有缺陷?

这是正在发送的 JSON:

我在服务器上唯一的文件是 index.php。

【问题讨论】:

  • 你需要先访问$_POST[]数组。目前虽然这里没有足够的答案来获得有用的答案
  • 你的帖子要发到哪里?
  • 您将无法看到这些帖子,它们是在后台发送的。您需要准备一个脚本来接收、处理它并将相关数据保存在数据库中。稍后,当用户访问您的网站时,您将向他们展示数据库中的数据
  • 有没有办法在没有数据库的情况下做到这一点?我将帖子发送到具有 index.php 的 url。我真正想要的是,一旦发送帖子,JSON 中的“名称”字段就会出现在网页上。
  • @tjb272 我不这么认为,你需要一些东西来存储处理后的数据。不要期望让您的用户访问您的 index.php 并等待帖子动态显示,除非您对 index.php 进行编程以不断执行动态请求(也称为 ajax)检查要显示给他们的数据,否则这不会发生

标签: php apache post


【解决方案1】:

来自 cmets:

首先,准备一个处理文件,例如:process.php,在这个文件中你只需要检查一个帖子,处理它并将相关数据存储在你的数据库中的php代码。

<?php
if(isset($_POST)){
    // Process post, store relevant data on database
}

然后,将数据正确存储在数据库中,您可以向用户显示 html 页面,从数据库中检索数据并相应地显示给他们。

【讨论】:

  • 那么对于这次实时更新,我会用什么来查询数据库并显示在网页上呢? PHP可以吗?
  • 是的,您需要 PHP 来执行此操作,因为您将使用它来查询数据库。但是对于动态请求,您将需要 Javascript。网上有很多关于这个的教程。 google 一下:Ajax + Jquery + PHP + MySQL 就会出很多教程
  • 知道了。感谢大家的帮助!
猜你喜欢
  • 1970-01-01
  • 2018-11-14
  • 1970-01-01
  • 1970-01-01
  • 2012-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多