如何通过PHP函数通过锚标记在HTML
问题描述:
看看我下面的代码如何通过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脚本中的代码。
答
你需要生成脚本在你的HTML某处回声返回值,那么你可以使用JavaScript来开展与该值的任何动作。唯一的另一种方法是发出ajax请求。
答
你有三个选择:
调用PHP函数生成,生成包含超链接的页面中的PHP中的校验和。
如果您控制purchase.do(不太可能,我知道),并且需求允许,请在处理其余参数(最初不通过校验和)后找到生成校验和的方法。
在客户端创建一个异步请求和处理程序,以调用您的php函数onclick,然后将后续请求传递给purchase.do,包括生成的校验和值。
答
您可以加载文件之前的任何地方在文件中调用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
。
答
我会做一个链接到自己的脚本,这将产生传递所有参数的校验和,将用户重定向到您所需要的所有参数和校验的页面。
您需要正确引用您的代码,它在问题出现。也不清楚你在问什么。 – dkamins 2010-06-16 19:46:24
您无法从HTML调用PHP。您只能在生成HTML时生成** ** **。你已经提出了非常类似的问题。如果您没有得到满意的答案,请编辑您的问题并重新解释您的问题,而不是一遍又一遍地创建新问题。 – 2010-06-16 19:48:09
用JavaScript做到这一点,或拨打使用Ajax的PHP脚本。看看jQuery的'阿贾克斯()'http://api.jquery.com/category/ajax/ – jordanstephens 2010-06-16 19:48:50