web-dev-qa-db-fra.com

Exécuter la fonction php en cliquant sur le bouton

Je veux exécuter une fonction php en cliquant sur le bouton. par exemple:

<input type="button" name="test" id="test" value="RUN"  onclick="<?php echo testfun(); ?>" /><br/>

<?php

function testfun()
{
   echo "Your test function on button click is working";
}

?>

Ma question est que lorsque je fais cela, je n'obtiens pas la sortie attendue que je cherchais. Veuillez me donner la meilleure solution pour cela pour exécuter une fonction php sur le bouton, que ce soit un simple button ou submit.

9
JD_bravo

J'ai essayé le code de William, merci frère.

mais cela ne fonctionne pas comme un simple bouton, je dois ajouter un formulaire avec method = "post". Je dois aussi écrire soumettre au lieu de bouton.

voici mon code ci-dessous ..

<form method="post">
    <input type="submit" name="test" id="test" value="RUN" /><br/>
</form>

<?php

function testfun()
{
   echo "Your test function on button click is working";
}

if(array_key_exists('test',$_POST)){
   testfun();
}

?>
14
JD_bravo

Faites ceci:

<input type="button" name="test" id="test" value="RUN" /><br/>

<?php

function testfun()
{
   echo "Your test function on button click is working";
}
if(array_key_exists('test',$_POST)){
   testfun();
}
?>
3
William Madede

Vous essayez d'appeler une fonction javascript. Si vous voulez appeler une fonction PHP, vous devez utiliser par exemple un formulaire:

    <form action="action_page.php">
       First name:<br>
       <input type="text" name="firstname" value="Mickey">
       <br>
       Last name:<br>
       <input type="text" name="lastname" value="Mouse">
       <br><br>
       <input type="submit" value="Submit">
     </form> 

(Code d'origine de: http://www.w3schools.com/html/html_forms.asp )

Donc, si vous voulez faire un appel asynchrone, vous pouvez utiliser 'Ajax' - et oui, c'est le Javascript-Way. Mais je pense que mon exemple de code est suffisant pour cette fois :)

1
Florian Lauterbach
<a href="home.php?click=1" class="btn">Click me</a>
<?php 
  if($_GET['click']){
    doSomething();
  }
?>

Mais il vaut mieux utiliser JS et avec ajax pour appeler la fonction!

1
Ivan Abadzhiev