2010-06-16 134 views
0

看看我下面的代码如何通过PHP函数通过锚标记在HTML

<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

您需要正确引用您的代码,它在问题出现。也不清楚你在问什么。 – dkamins 2010-06-16 19:46:24

+1

您无法从HTML调用PHP。您只能在生成HTML时生成** ** **。你已经提出了非常类似的问题。如果您没有得到满意的答案,请编辑您的问题并重新解释您的问题,而不是一遍又一遍地创建新问题。 – 2010-06-16 19:48:09

+1

用JavaScript做到这一点,或拨打使用Ajax的PHP脚本。看看jQuery的'阿贾克斯()'http://api.jquery.com/category/ajax/ – jordanstephens 2010-06-16 19:48:50

回答

0

你需要生成脚本在你的HTML某处回声返回值,那么你可以使用JavaScript来开展与该值的任何动作。唯一的另一种方法是发出ajax请求。

0

你有三个选择:

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

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

  3. 在客户端创建一个异步请求和处理程序,以调用您的php函数onclick,然后将后续请求传递给purchase.do,包括生成的校验和值。

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

+0

什么呢http_buld_query($ _ GET)的意思。 也告诉我,如果我想Buld完整的URL在PHP中,但不是在HTML然后我将如何继续 – Mishigen 2010-06-16 20:07:14

+0

我需要获得所有参数在PHP代码本身。在HTML代码我只是想通过<一个HREF =“redirect.php?而之后的所有其他参数将被称为在PHP代码 – Mishigen 2010-06-16 20:11:40

0

我会做一个链接到自己的脚本,这将产生传递所有参数的校验和,将用户重定向到您所需要的所有参数和校验的页面。