gpt4 book ai didi

PHP 文件不会从 HTML PayPal 表单中提取 'AMOUNT'

转载 作者:太空宇宙 更新时间:2023-11-03 16:06:27 25 4
gpt4 key购买 nike

这是我关于 SO 的第一个问题!

我在创建由 PHP 文件和 HTML 文件组成的有效 PayPal 结帐时遇到问题(原始代码要长得多,但我已将其浓缩并在此处进行了简化)。触发后,PHP 文件会在引导客户结账之前向我发送一封包含订单详细信息的电子邮件。除了 AMOUNT 似乎不想传递到 PHP 文件这一事实之外,这非常有效。

HTML 文件只为每个字段(项目名称、金额等)输入字符串:

<html>
<head>
<title></title>
</head>

<body>

<form name="contactform" id="contactform" action="test.php" method="post" style="float:initial" >

<input type="hidden" id="cmd" name="cmd" value="_xclick">
<input type="hidden" id="business" name="business" value="test@test.com">
<input type="hidden" id="item_name" name="item_name" value="Test Item">
<input type="hidden" id="currency_code" name="currency_code" value="USD">
<input type="hidden" id="amount" name="amount" value="1.00">
<input type="image" src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_buynowCC_LG.gif" id="button" style="margin-top:30px" name="submit" alt="Make payments with PayPal - it's fast, free and secure!" >

</form>

</body>
</html>

然后 PHP 文件将这些数据放入一个数组中,然后将其发送到 PayPal:

<?php

if(isset($_POST['item_name'])) {


$query_data = array(
'amount' => $_POST['amount'],
'business' => 'test@test.com',
'cmd' => '_xclick',
'currency_code' => 'USD',
'item_name' => $_POST['item_name'],

);

}

header('Location: https://www.paypal.com/cgi-bin/webscr' . http_build_query($query_data));
exit;

?>

这会拉取其他所有内容,包括 item_name,所以我完全不明白为什么它对“数量”不起作用。

如果有人有任何想法,我将不胜感激!

谢谢!

最佳答案

在 test.php 底部对 header 函数的调用在 URL 和查询字符串之间缺少一个问号。

PHP 手册 ( http://php.net/manual/en/function.http-build-query.php ) 没有明确说明 http_build_query 函数的返回值是否包含问号,但示例表明它不包含。

由于“金额”变量是列出的第一个变量,它可能没有注册在 PayPal 上解析查询字符串的任何代码,但其他名称-值对正在被读取,因为“&”符号正在对它们进行分隔。 PayPal 的 HTML 变量文档确实指出,如果未发送金额,系统将提示用户输入金额。

关于PHP 文件不会从 HTML PayPal 表单中提取 'AMOUNT',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40268075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com