如何通过html中的锚标记调用时通过php函数返回值

时间:2010-06-16 19:44:20

标签: php

查看下面的代码

<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脚本中的代码。

4 个答案:

答案 0 :(得分:0)

您需要生成脚本来回显HTML中某处的返回值,然后您可以使用javascript来执行具有该值的任何操作。唯一的另一种方法是发出ajax请求。

答案 1 :(得分:0)

您有三种选择:

  1. 调用PHP函数在PHP中生成校验和,生成包含超链接的页面。

  2. 如果你控制purchase.do(不太可能,我知道),并且要求允许,找到一种方法来在处理其余参数后生成校验和(最初不要通过校验和)。

  3. 在客户端创建一个异步请求和处理程序,以调用你的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)

我会链接到你自己的脚本,它会生成所有传递参数的校验和,并将用户重定向到你需要的所有参数和校验和的页面。