贝宝付款的奇怪问题

时间:2015-08-28 16:36:38

标签: php paypal

我已成功设法将paypal与测试网站集成,包括在不同帐户之间转移现金。但是,除非在php文件中声明单价,否则立即假设它是1Euro而不是所需的0.01Euros量(使用shmem_putmem)但是如果我将单价直接插入php中,例如{{ 1}},它完美无缺。

我已将本教程用作指南http://www.evoluted.net/thinktank/web-development/paypal-php-integration

HTML CODE:

#include <shmem.h>

int main(int argc, char* argv[])
{
    start_pes(0);
    int mype = my_pe();
    int npes = num_pes();

    int n = ( argc>1 ? atoi(argv[1]) : 1000);
    int * sheap = shmalloc(n*sizeof(int));
    if (sheap==NULL) exit(1);
    printf("PE %d: sheap base = %p\n", mype, sheap);
    shfree(sheap);

    return 0;
}

PHP代码:

$unitprice = isset($_POST['unitprice']);

注意:出于安全原因,将从数据库中获取单价。

1 个答案:

答案 0 :(得分:1)

isset($_POST['unitprice']);将评估为true,这意味着1为整数。正确的行是:

$unitprice = isset($_POST['unitprice'])?$_POST['unitprice']:0.01;

(含义:如果在POST中设置了单价,则应该取此值,否则为0,0。

还有两个评论:

  • 这同样适用于以下行($quantity = ...
  • 至少在生产环境中,您应该始终检查并验证所有用户输入!在这种情况下,您可以使用filter_inputis_numeric,以及>0<1000等条件。