Exécuter une fonction en PHP avec un bouton HTML

Exécuter une fonction en PHP avec un bouton HTML - PHP - Programmation

Marsh Posté le 07-01-2019 à 18:34:45    

Bonjour à tous j'essaye d’exécuter une fonction php avec un bouton en html, j'utilise l'attribut onclick de mon bouton mais la méthode ne s'exécute pas j'ai recherché longtemps sans trouver de réponse à mon problème  
voici le code (PHP):

Code :
  1. $html = $html."<input type=\"button\" value=\"Supprimer\" onclick=\"supprimerItem($id)\"></input><br>";

 

Code :
  1. public function supprimerItem($id){
  2. ...
  3.   }


Message édité par taelith le 07-01-2019 à 18:36:33
Reply

Marsh Posté le 07-01-2019 à 18:34:45   

Reply

Marsh Posté le 07-01-2019 à 18:37:09    

En onclick c'est uniquement du code Javascript, pas du PHP : rappelons que PHP est exécuté serveur, pas client.
 
C'est du côté d'Ajax que tu dois chercher pour accomplir ce que tu cherches à faire. A moins de s'y prendre autrement (formulaire ou lien mais il y aura alors un rechargement de la page)


Message édité par pluj le 07-01-2019 à 18:38:26
Reply

Marsh Posté le 07-01-2019 à 19:02:22    

Merci pour votre réponse, je vais aller me renseigner sur Ajax
Pourriez vous m'expliquer plus en détails les autres solutions que vous avez évoqué (formulaire et liens) je pense qu'elle seraient plus adapté à mes compétences actuel


Message édité par taelith le 07-01-2019 à 19:04:06
Reply

Marsh Posté le 07-01-2019 à 19:12:31    

Remplacer ton bouton par un lien vers un script PHP qui appelle ta méthode avec l'id de ton truc en query string :

Code :
  1. <a href="supprimer.php?id=<?= $id >">Supprimer</a>


 
Et ton code PHP (supprimer.php pour correspondre au lien ci-dessus) :

Code :
  1. <?php
  2. #if (isset($_GET['id'])) {
  3. $objet->supprimer($_GET['id']);
  4. header('Location: ...');


 
Sinon, avec un formulaire (en GET ou POST, au choix), c'est la même idée :

Code :
  1. <form method="POST" action="supprimer.php">
  2. <input type="hidden" name="id" value="<?= $id ?>"/>
  3. <input type="submit" value="Supprimer"/>
  4. </form>


 
Et le code PHP reste le même en adaptant $_GET en $_POST.
 
La redirection te permet éventuellement de revenir à ta page de départ.
 
Tu vois ce que je veux dire ?
 
Mais ajax c'est normalement bien mieux pour ce genre de tâche niveau expérience pour l'utilisateur, ça évite de la navigation inutile en rechargeant la page pour rien.


Message édité par pluj le 07-01-2019 à 19:14:45
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed