查看下面的代码
<a href="https://secure.gate2shop.com/ppp/purchase.do?merchant_id=234555454545433&merchant_site_id=54443¤cy=USD&total_amount=39.99&item_name_1=IncidentSupportTier1&item_amount_1=39.99&item_quantity_1=1&checksum=**call php function to get the checksum value**&time_stamp=2010-06-14.14:34:33&version=3.0.0"
onmouseover="document.myform.sub_but.src='checkout02.jpg'"
onmouseout="document.myform.sub_but.src='butup.gif'"
onclick="return val_form_this_page()">
<img src="http://www.techvedic.com/gifs/checkout02.jpg"
width="143" height="39" border="0" alt="Submit this form"
name="sub_but" />
在按钮上单击将打开href链接。但在打开链接之前,我需要计算cheksum。我知道如何在PHP脚本中计算它。但请告诉我如何调用将返回校验和值的PHP函数。不要担心PHP脚本中的代码。
答案 0 :(得分:0)
您需要生成脚本来回显HTML中某处的返回值,然后您可以使用javascript来执行具有该值的任何操作。唯一的另一种方法是发出ajax请求。
答案 1 :(得分:0)
您有三种选择:
调用PHP函数在PHP中生成校验和,生成包含超链接的页面。
如果你控制purchase.do(不太可能,我知道),并且要求允许,找到一种方法来在处理其余参数后生成校验和(最初不要通过校验和)。
在客户端创建一个异步请求和处理程序,以调用你的php函数onclick,然后将后续请求传递给purchase.do,包括生成的校验和值。
答案 2 :(得分:0)
您可以在加载文件之前在文件中的任何位置调用PHP函数:
<a href="<...>&checksum=<?php echo function_that_generates_checksum(); ?><...>"
如果这种简单方法不适合您,您可以尝试休息。
创建一个php脚本redirect.php
或类似的脚本。在其中放置与此类似的代码:
<?php
$_GET['checksum'] = php_function_to_get_checksum();
header('Location: '
.'https://secure.gate2shop.com/ppp/purchase.do?'
.http_build_query($_GET)
);
在您的HTML中,更改:
<a href="https://secure.gate2shop.com/ppp/purchase.do?<...>
要:
<a href="redirect.php?<...>
删除此网址中的&checksum=
变量,您将在PHP脚本中设置该变量,该变量会将用户重定向到正确的网址。而且您不再需要onclick
。
答案 3 :(得分:0)
我会链接到你自己的脚本,它会生成所有传递参数的校验和,并将用户重定向到你需要的所有参数和校验和的页面。