Appeler une fonction PHP dans une fonction Javascript

Petit nouveau ! | 5 Messages

17 nov. 2011, 11:15

Bonjour à tous!

Dans le cadre de mon travail (casino), je suis en train de développer une application PHP avec BDD MYSQL.
Je précise que je suis débutant total en php.

Mon problème est le suivant :

J'ai une page php qui me permet de gérer les paiements manuels grâce à un formulaire tout simple :

Code : Tout sélectionner

<form name="PM" method="post" action="verif.php"> <br> <table border="0" height="250" > <tr> <Td><b>Numéro MAS</b></td> <td> <input type ="text" name="MAS_PM" size="3"></td> </tr> <tr> <td><b>Montant :</b></td> <td> <input type="text" name="montant_PM" size="10">Ariary</td> </tr> <tr> <td><b>Nom du client : </b></td> <td> <select name="clients_PM"> <?php while ($liste=$result->fetch()) { if ($liste['Nom_cli']=='Client de Passage') { echo '<option selected="selected">Client de passage</option>'; } else { echo '<option value="'.$liste['ID_cli'].'">'.$liste['Nom_cli'].' '.$liste['Prenom_cli']."</option>\n"; } } ?> </select> </td> </tr> <td colspan="2"> <center><input type="image" src="images/valider.gif" onclick="submit"> </center> </table> </form>
Désolé pour le code qui n'est pas encore très propre :oops:

J'aimerai qu'au moment de l'envoi de ce formulaire, on vérifie dans la base si le client à un credit en cours, si c'est le cas on affiche une alert Javascript ("Ce client à déjà un crédit en cours, le paiement sera donc débité de son crédit")

J'ai crée une fonction qui permet de vérifier si le client à un crédit en cours :

Code : Tout sélectionner

Function CountCreditByID ($ID_cli) { $req="SELECT COUNT(*)as nbcredit FROM CREDITS WHERE ID_cli='$ID_cli' AND Statut_cred='En cours' AND Rmq_cred IS NULL;"; $result=Connexion::getInstance()->query($req); $row = $result->fetch(); $total=$row['nbcredit']; $result=null; return $total; }
Donc l'idéal pour moi serait de créer une fonction Javascript qui serait appelée au moment du clic sur le bouton "valider".
Cette fonction appellerait la fonction CountCreditByID
Si on a un crédit en cours ==> Message Alert + Débit du crédit en cours
Sinon==> Enregistrement du paiement manuel

Malheureusement je ne trouve pas comment appeler une fonction PHP depuis une fonction Javascript.

Voilà j'espère que je me suis bien exprimé.

Merci d'avance :wink:

ViPHP
ViPHP | 2577 Messages

17 nov. 2011, 11:24

Bonjour,

Le problème, c'est que le javascript s'exécute sur le client et le PHP sur le serveur. Pour faire ce que tu veux il faut te tourner vars les requêtes ajax qui permettent de faire un requête http depuis le client sur le serveur.

Petit nouveau ! | 5 Messages

17 nov. 2011, 13:01

Bonjour Mazarini et merci beaucoup pour cette réponse.
Je n'ai pas vraiment le temps d'apprendre Ajax.
Comme il est impossible d'appeler du PHP dans du JS, je pense que je vais abandonner la boite de dialogue et rediriger la validation du form vers une page PHP qui fera la vérification et affichera le message sous forme d'echo tout simple.

Merci ;)