Je recherche une solution simple pour appeler une fonction PHP uniquement lorsque l'utilisateur clique sur une balise .
PHP:
function removeday() { ... }
HTML:
<a href="" onclick="removeday()" class="deletebtn">Delete</a>
UPDATE: le code html et PHP sont dans le même fichier PHP
javascript
php
ajax
onclick
Mike
la source
la source
<a role="button" href="?action=removeday" class="debatebtn">Delete</a>
là où l'action est interceptée et exécute la fonction removeay () similaire àif($action == 'removeday'){ removeday(); }
. Je sais que c'est tard, mais je pense que cela pourrait encore aider quelqu'un avec ce problème. C§Réponses:
Tout d'abord, sachez que trois langues fonctionnent ensemble:
PHP: Il ne fonctionne que par le serveur et répond aux demandes telles que cliquer sur un lien (GET) ou soumettre un formulaire (POST).
HTML et JavaScript: il ne fonctionne que dans le navigateur de quelqu'un (à l'exclusion de NodeJS).
Je suppose que votre fichier ressemble à quelque chose comme:
Parce que PHP ne répond qu'aux requêtes (GET, POST, PUT, PATCH et DELETE via $ _REQUEST), c'est ainsi que vous devez exécuter une fonction PHP même si elles sont dans le même fichier. Cela vous donne un niveau de sécurité, "Dois-je exécuter ce script pour cet utilisateur ou non?".
Si vous ne souhaitez pas actualiser la page, vous pouvez faire une requête à PHP sans actualiser via une méthode appelée JavaScript asynchrone et XML (AJAX).
C'est quelque chose que vous pouvez rechercher sur YouTube. Recherchez simplement "jquery ajax"
Je recommande Laravel à tous les nouveaux pour bien commencer: http://laravel.com/
la source
If you don't want to refresh the page, you can make a request to PHP without refreshing via a method called Asynchronous JavaScript and XML (AJAX).
Eh bien, il l'a inclusonclick
dans la question, il est donc assez clair que le but est d'effectuer une action sans rafraîchir. ¬_¬En javascript, créez une fonction ajax,
Puis appelez depuis html,
Et dans votre ajax.php,
la source
type
devrait être utilisé dans jQuery antérieur à 1.9.0, tandis quemethod
c'est un alias et devrait être utilisé sur les versions plus récentes.Vous devrez le faire via AJAX . Je vous recommande vivement d'utiliser jQuery pour vous faciliter la tâche ....
http://api.jquery.com/jQuery.ajax/
la source
Cela peut être fait et avec un php assez simple si c'est votre bouton
et ceci est votre code php
le code get est appelé lorsque soumettre get est publié, ce qui se produit lorsque l'utilisateur clique sur le bouton.
la source
Essayez de faire quelque chose comme ceci:
la source
Solution sans rechargement de page
la source
C'est la manière la plus simple possible. Si le formulaire est posté par courrier, utilisez la fonction php. Notez que si vous souhaitez exécuter une fonction de manière asynchrone (sans avoir besoin de recharger la page), vous aurez besoin d'AJAX.
la source
Note that if you want to perform function asynchronously (without the need to reload the page), then you'll need AJAX.
Eh bien,onclick
cela indiquerait que c'est exactement ce qu'il veut. ¬_¬Voici une alternative avec AJAX mais pas de jQuery, juste du JavaScript normal:
Ajoutez ceci à la première / principale page php, à partir de laquelle vous souhaitez appeler l'action, mais changez-la d'une
a
balise potentielle (lien hypertexte) en unbutton
élément, afin qu'elle ne soit pas cliquée par des robots ou des applications malveillantes (ou autre).Quand le
button
on clique sur,onclick
utilise la fonction javascript de la tête pour envoyer$sendingValue
via ajax vers une autre page php, comme beaucoup d'exemples avant celle-ci. L'autre page,ajax-php-page.php
vérifie la valeur GET et retourne avecprint_r
:La réponse de
print_r
est ensuite renvoyée et affichée avecLe
+=
remplit et ajoute aux éléments html existants, supprimant les+
mises à jour et remplace le contenu existant de l'p
élément html"results"
.la source
Essayez ceci, cela fonctionnera très bien.
la source