Drupal 6解析传入的POST数据

Mik*_*roe 2 drupal drupal-6

我有一个Excel文件,我需要将数据发送到我的Drupal MySql数据库.为此,我在Excel工作表的VBA中使用HTTP POST,如下所示:

Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
        URL = "http://localhost:8082/acquia-drupal/node/2"
        objHTTP.Open "POST", URL, False
        objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
        objHTTP.send ("string=testdata")
Run Code Online (Sandbox Code Playgroud)

我想使用Drupal页面来解析POST数据并将其写入Drupal MySql数据库中的表.

这是我开始的,

<?php
if (isset($_POST['string']))
{
  $trans = $_POST['string'];
  db_query("INSERT INTO {excel} (ExcelData) VALUES (%d')",
  $trans);
}
Run Code Online (Sandbox Code Playgroud)

这是正确的方向吗?此外,有人可以提供一些代码片段指导正确解析POST数据吗?

Eat*_*ton 5

以您概述的方式处理传入的$ _POST数据有点像手动滚动您自己的Web服务.这不一定是坏事,有时它是让事情互相交流的最佳方式.

我强烈强调,如果您在所发布的代码段中使用类似代码,那么您将对自己的安全性,数据清理和SQL注入保护负责.

此外,正如Eli的评论中所指出的那样,您可能会将其放入节点中.这是一种相对危险的方法,因为任何人都可以轻松地弹出该节点并开始将$ _POST数据发送到您的数据库中.创建一个模块,使用hook_menu()来定义导入代码的url路径,并对该特定url设置一些访问控制限制将使事情更安全一些.