2010-06-16 135 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

我會做一個鏈接到自己的腳本,這將產生傳遞所有參數的校驗和,將用戶重定向到您所需要的所有參數和校驗的頁面。