2009-02-27 10 views
0

Je dois déclencher une classe php à partir d'une fonction javascript.Exécuter la classe PHP à partir de JavaScript

code:

<input type="button" name="Submit" value="Submit" class="opinionbox" 
onclick="verifyControl('<?=$control_no?>')"/> 

function verifyControl(rNo) { 
Cont_no=document.getElementById("ContNo").value; 
    if(rNo==Cont_no) { 
    frames['frame1'].print(); 
    showPage('payment'); 
    } 
    else if(rNo!=Cont_no) { 
    alert("invalid control no"); 
    } 
} 

je dois exécuter le code

$data = $obj_com -> getSelectedData('tbl', 
         'control_no', $contno); 
$control_no = $contno; 
$obj_com -> recordPay('tbl',$contno); 

à l'intérieur du verifyControl() comment puis-je faire cela?

Répondre

8

Vous ne pouvez pas "appeler" une classe PHP de Javascript parce que Javascript est exécuté côté client (c'est-à-dire le navigateur) pendant que PHP est exécuté sur le serveur. Ce que vous pouvez faire, cependant, c'est appeler un script PHP de manière asynchrone, obtenir sa sortie, et faire des choses amusantes avec javascript. Ceci est connu comme AJAX. Si vous allez suivre cette route, il est fortement conseillé d'utiliser une bibliothèque comme jQuery et apprendre à partir de là. Voici quelques questions pour vous aider à démarrer (vérifier les réponses):

2

Pour appeler le code PHP de Javascript, étant donné que PHP est en cours d'exécution sur le serveur et Javascript s'exécute sur le client, vous devrez configurer une sorte d'interface sur le serveur accessible à distance.

Vous pouvez également être conscient des implications de sécurité de le faire. En particulier, si vous voulez vous assurer que seuls vos utilisateurs appellent votre serveur de cette manière, c'est-à-dire, si un utilisateur malveillant appelant ce code peut faire des dégâts, vous aurez besoin d'une sorte d'authentification.

Vous devrez également décider d'un protocole de communication entre le client et le serveur.

Les protocoles tels que SOAP et XML-RPC définissent tout ce dont vous avez besoin pour appeler à distance des procédures sur le serveur. Ou vous pouvez rouler le vôtre, en appelant une certaine URL et en recevant un certain résultat, dans un certain format (JSON peut vous aider) depuis le serveur.

Questions connexes