【问题标题】:PHP HTTP_POST_VARS problemPHP HTTP_POST_VARS 问题
【发布时间】:2010-10-10 00:18:29
【问题描述】:

开始:我是一名 C++ 开发人员,热衷于制作 PHP 脚本(用于 paypal IPN)。

我对他缺乏来自贝宝和其他地方的良好工作样本感到非常沮丧。

最新的问题是我似乎没有得到任何我认为应该得到的 $HTTP_POST_VARS 项目。

一些在线搜索似乎表明这是已弃用或可配置等。

我不知道我的主机使用的是什么版本的 PHP。

很明显,要么我的测试应用程序没有正确发布,要么脚本不工作。

所以:2个问题: - 有没有人有任何指向工作 IPN 脚本的链接? - $HTTP_POST_VARS 的废话有什么用?

编辑

谢谢大家。我会尝试这些建议并尽快发布我的成功案例。

【问题讨论】:

  • 我有一个有效的 IPN sxcript,所以请联系我,我将为您提供一个示例。我不能在这里发布。
  • 感谢您的提议。不幸的是,除了我在访问 Piestany 和 Senica 附近的人时学到的几句话外,我不会说斯洛伐克语。我的联系信息在我的个人资料上,我很想得到一个示例脚本。 Dakujem,蒂姆

标签: php paypal paypal-ipn http-post-vars


【解决方案1】:

您可以通过在 PHP 脚本块 <?php ?> 中输入 phpinfo(); 来检查您正在使用的 PHP 版本,然后查看它的输出(或简单地回显 PHP_VERSION)。

$HTTP_POST_VARS 是旧的做事方式。您可以使用$_POST['post-var']。要检查发布的所有内容,请使用print_r($_POST)

【讨论】:

  • 实际上,我会推荐 var_dump(或 var_export)作为 print_r 的替代品...您可以获得更好的信息(尤其是因为 $_POST 是一个数组)
  • @Hans 我下次试试 var_dump()。
【解决方案2】:

首先要尝试将 $HTTP_POST_VARS 更改为 $_POST。这就是新机制,在某个版本或另一个 $HTTP_POST_VARS 不再是超全局变量之后。

【讨论】:

  • 我相信是在 5.0 发布的时候,$HTTP_POST_VARS 不再是全局的了。
【解决方案3】:

正如 chaos 已经写的那样,只需使用 $_POST 数组而不是 $HTTP_POST_VAR
我想提两件事:
1、var_dump(somevar)function对php很有帮助。它显示有关somevar 的结构化信息。如果您不确定某个变量或数组是如何构成的,或者什么是结构化的,请使用此函数。所以这个调用 var_dump($_POST); 将显示所有当前的 POST 参数。
2. phpinfo() function 如果您对主机使用的版本和扩展感兴趣,会很有帮助。只需创建一个包含<?php phpinfo(); ?> 的文件,然后使用浏览器导航到该文件。由于安全漏洞,请不要忘记在此之后将其删除。

【讨论】:

  • 我通常喜欢做.... echo "
    " 。 print_r($somevar) 。 "
    ";它做同样的事情,但以更易于阅读的格式打印。我认为您可以在 print_r() 的同一位置执行 var_dump(),但我已经很久没有尝试过了。
  • @Inventeix,应该是 echo '
    ' 。 print_r($somevar, true) 。 '
    ';让它返回而不是简单地回声?也许没关系。
猜你喜欢
  • 2018-01-12
  • 2010-09-10
  • 2011-10-12
  • 2011-10-24
  • 2014-05-17
  • 2011-07-02
  • 2011-10-13
  • 2011-07-09
  • 2011-06-27
相关资源
最近更新 更多