0

我目前正在构建一个表单,在表单期间的某个时间点将用户发送到外部支付网站。在这一点上,我已经为为我提供此支付服务的服务提供了两个 URL,一个调用将在 pyment 点更新用户记录的函数,以及一个用户在付款后被引导回的 URL过程完成。第一个 URL(更新用户记录的函数调用)是“带外”的,永远不会向用户显示,并且来自服务器而不是客户端 IP。因此,我有点“死胡同”,因为我看不到被传回给我的变量,显然这些对于我解析和操作这些数据(帖子)很重要,以便更新我们的记录。

我尝试在我的函数中编写一个简单的算法,该算法将遍历这些 POST 变量并将它们写入文本文件,但不幸的是我无法让它工作(可能与 Joomla 有关?)。

这是该功能:

public function harlandReturn() {
        $myFile = "text.txt";
        $fh = fopen($myFile, 'w');
        $stringData = "";
        foreach($_POST as $i => $v) {
            $stringData .= $i . " : " . $v . " / ";             
        }
        fwrite($fh, $stringData);
        fclose($fh);
    }

我的主要问题是,有没有一种方法可以让我获得一个函数来记录发送给它的任何数据并将其存储在文件、电子邮件或类似的东西中,这样我就可以看到它们是什么(整数、字符串、布尔值等)及其名称?

谢谢

4

2 回答 2

1

因为变量并不总是可预测的——例如,子数组——你可能最好序列化数组并将其写入文件。

if(is_writable($myFile)) {
    $fh = fopen($myFile, 'w');
    $stringData = serialize($_POST);
    fwrite($fh, $stringData);
    fclose($fh);
}

然后,您可以直接打开文件或创建一个快速脚本,unserialize以将其视为已发布。

请注意,您没有进行任何错误检查以查看文件是否可写等。

于 2013-05-23T09:36:16.790 回答
0

你的功能不见了fwrite()

$myFile = "text.txt";
$fh = fopen($myFile, 'w');
foreach($_POST as $i => $v) {
  $stringData = $i . " : " . $v . " / ";
  fwrite($fh, $stringData);             
}
fclose($fh);

或者

$myFile = "text.txt";
$fh = fopen($myFile, 'w');
foreach($_POST as $i => $v) {
  $stringData .= $i . " : " . $v . " / ";

}
fwrite($fh, $stringData); 
fclose($fh);
于 2013-05-23T09:28:56.043 回答