2012-12-13 61 views
0

响应我曾尝试这个代码,但我没有得到响应没有得到在贝宝

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" name="fm"> 
    <input type="hidden" name="cmd" value="_cart" /> 
    <input name="currency_code" type="hidden" value="GBP" /> 

    <input type="hidden" name="business" value="[email protected]" /> 

    <?php 
     for($m=0;$m<4;$m++){ 
    ?> 

     <input type="hidden" name="quantity_<?php echo $m+1; ?>" value="1" /> 
     <input type="hidden" name="item_name_<?php echo $m+1; ?>" value="<?php echo "fhghg"; ?>" /> 
     <input type="hidden" name="amount_<?php echo $m+1; ?>" value="<?php echo 10; ?>" /> 

    <?php 
     } 
    ?> 


    <input name="no_shipping" type="hidden" value="2" /> 
    <input type="hidden" name="upload" value="1" /> 
    <input type="hidden" name="return" value="http://localhost/test/test1.php" /> 
    <input type="hidden" name="cancel_return" value="http://localhost/test/test.php" /> 
    <input type="hidden" name="notify_url" value="http://localhost/test/test.php"> 
    <input type='submit' name='submit' value='submit' /> 
</form> 

echo数组作为print_r($_POST)打印响应。它显示为Array()

如何解决此问题?如何将变量传递给多个项目的贝宝?

+0

是否确定端口80上的查询已重定向到您的计算机,并且没有防火墙阻止通信? – emartel

+0

在你的本地主机上启用'php_openssl'扩展名。 –

+0

php_openssl无关紧要,但是您应该在Apache上使用mod_ssl并提交https网址。开放80端口是第二步,张贴到网上的网址更重要 – JSON

回答

0

超全球$_POST始终是一个数组。如果仅在输出中获得Array()print_r($_POST),这意味着什么被张贴,并数组为空(只是确保你使用print_r(),而不是print()这里。

如果你不想打印整个阵,而是从这个数组打印单个字段的值,使用键,如$_POST['item_id'],其打印item_id关键的$_POST值。

+0

如何发布变量你可以解释在PHP编码? – user1859340

0

是test1.php一个PayPal IPN脚本?贝宝不能访问本地主机(“通知”字段),这必须是一个真正的URL,如果你在家里测试一个动态IP服务,如no-ip.com