0

我有一个包含表单的页面。这个页面也有一个 PHP 脚本来设置一些变量。然后,当用户单击提交时,这些变量将作为隐藏值提交。

我需要获取用户输入的值(金额),然后将其设置为 PHP 中的变量,然后发布表单。这可能吗 ?

我不能只发送表单提交的值,因为它必须首先在 PHP 脚本中通过 MD5 哈希。这是 Realex 信用卡付款的要求。

我在想这可能用 JavaScript 实现吗?

编辑

只是为了澄清一下,该页面有 PHP(例如在这里简化)

<?php
$amount ="";
$tmp = "$timestamp.$merchantid.$orderid.$amount.$curr";
$md5hash = md5($tmp);
$tmp = "$md5hash.$secret";
$md5hash = md5($tmp);
?> 

以上所有变量都是预定义的,不会更改,但是数量取决于客户输入的内容。

该表单与上面的页面位于同一页面上,因此当客户输入一个值时,然后点击提交……这与上面的 md5 哈希一起被发送。

<form>
<input type="text" name="donate_amount" value="">
<input type="hidden" name="AMOUNT" value="<?=$amount?>
</form>

但我不确定如何在发布之前动态地执行此操作。

4

3 回答 3

0

我不确定我是否在没有看到代码的情况下正确地得到了这个,但是从我从中得到的东西中,我认为你想要的是将它保存到会话中。

所以如果它来自输入

$_SESSION['derp'] = Hash::howeveryouhash($_POST['derp'])

或者如果在获得输入后发生散列,只需将散列输入保存到会话中?

我不确定这是否是您的意思,但如果是,请务必参考 php 手册以确保正确使用 $_SESSION!

于 2013-05-31T14:04:44.733 回答
0

在创建隐藏表格 Gary 之前,您需要知道最终金额。没有它,创建哈希是没有意义的。

您应该在上一页询问用户他们希望捐赠的金额。然后,您可以显示包含隐藏表单和“继续付款”按钮的最终“捐赠概览”页面。

无论您最终实施什么,都不要将 Realex 共享密钥放在页面上的 javascript 中!这必须在服务器端保持安全。

于 2013-06-04T11:27:55.417 回答
-1

这样做怎么样:

<input type="text" name="amount" onchange="ajaxFunction(this)" value="" />

然后,当输入字段更改时,函数 ajaxFunction 调用 PHP 脚本发送值。在 PHP 脚本中,您可以将值存储在 $_SESSION['amount'] 中以供以后使用。

function ajaxFunction(obj) {
   $.post("store_amount.php", { amount: $(obj).val() } );
}

需要 jQuery。

于 2013-05-31T13:59:11.870 回答