2010-06-16 2 views
0

Regardez mon code ci-dessouscomment retourner la valeur grâce à la fonction php lorsqu'il est appelé par la balise d'ancrage en 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" /> 

sur le bouton cliquez sur le lien href ouvrira. Mais avant d'ouvrir le lien, j'ai besoin de calculer le cheksum. Je sais comment le calculer en script PHP. Mais s'il vous plaît dites-moi comment puis-je appeler la fonction PHP qui va retourner la valeur de contrôle. Ne vous inquiétez pas du code dans le script PHP.

+0

Vous devez indiquer correctement votre code pour qu'il apparaisse dans la question. En outre, ce n'est pas vraiment clair ce que vous demandez. – dkamins

+1

Vous ne pouvez pas appeler un PHP à partir du HTML. Vous pouvez uniquement générer la valeur ** à l'avance ** lors de la génération du code HTML. Vous avez déjà posé des questions très similaires. Si vous n'obtenez pas une réponse satisfaisante, éditez votre question et reformulez votre question au lieu d'en créer une nouvelle encore et encore. –

+1

faites-le avec javascript, ou appelez le script php avec ajax. jetez un oeil à jQuery '.ajax()' http://api.jquery.com/category/ajax/ – jordanstephens

Répondre

0

Vous aurez besoin du script de génération pour renvoyer la valeur de retour quelque part dans votre code HTML, vous pouvez alors utiliser javascript pour effectuer toutes les actions avec cette valeur. Le seul autre moyen est de faire une requête ajax.

0

Vous avez trois options:

  1. Appelez la fonction PHP pour générer la somme de contrôle au sein du PHP qui génère la page qui contient le lien hypertexte.

  2. Si vous contrôlez purchase.do (peu probable, je sais), et que les conditions le permettent, trouvez un moyen de générer la somme de contrôle après avoir traité le reste des arguments (ne pas passer la somme de contrôle initialement).

  3. Créez une requête asynchrone et un gestionnaire sur le client pour appeler votre fonction php onclick, puis passez la requête suivante à purchase.do, y compris la valeur de contrôle résultante.

0

Vous pouvez appeler des fonctions PHP ne importe où dans votre fichier avant le fichier est chargé:

<a href="<...>&checksum=<?php echo function_that_generates_checksum(); ?><...>" 

Si cette méthode simple ne convient pas pour vous, vous pouvez essayer la mise en jachère.

Créez un script PHP redirect.php ou similaire. Placez un code similaire à ce en elle:

<?php 

$_GET['checksum'] = php_function_to_get_checksum(); 

header('Location: ' 
     .'https://secure.gate2shop.com/ppp/purchase.do?' 
     .http_build_query($_GET) 
    ); 

Dans votre code HTML, le changement:

<a href="https://secure.gate2shop.com/ppp/purchase.do?<...> 

Pour:

<a href="redirect.php?<...> 

Retirez la variable &checksum= dans cette URL, vous partirez cette variable dans votre script PHP qui redirigera l'utilisateur pour corriger l'URL. Et vous n'aurez plus besoin de onclick.

+0

que signifie http_buld_query ($ _ GET). aussi me dire si je veux buld l'URL complète en php mais pas en html alors comment aurais-je besoin de procéder – Mishigen

+0

je dois obtenir tous les paramètres dans le code php lui-même.en code html je veux juste passer Mishigen

+0

ai-je besoin de l'appeler comme ceci Mishigen

0

Je ferais un lien vers votre propre script, ce qui générera la somme de contrôle de tous les arguments passés et redirigera l'utilisateur vers la page dont vous avez besoin avec tous les arguments et la somme de contrôle.

Questions connexes