Maison >développement back-end >tutoriel php >Comment puis-je appeler des fonctions PHP en cliquant sur des boutons sans recharger la page ?

Comment puis-je appeler des fonctions PHP en cliquant sur des boutons sans recharger la page ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-11 14:58:11115parcourir

How Can I Call PHP Functions Using Button Clicks Without Reloading the Page?

Appel de fonctions PHP avec des clics de boutons : un guide

Dans cet article, nous explorons un défi courant rencontré par les développeurs PHP : appeler des fonctions PHP sur les clics de bouton. Nous fournirons un guide étape par étape pour résoudre ce problème efficacement.

Le problème

Lorsque vous essayez d'exécuter une fonction PHP en cliquant sur un bouton, il y a un écueil qui peut conduire à l’absence de tout résultat : s’appuyer uniquement sur la soumission de formulaires HTML. Cette approche n'exécutera pas la fonction souhaitée sans mesures supplémentaires.

La solution : AJAX à la rescousse

Pour combler le fossé entre HTML et PHP, nous allons introduire Ajax (JavaScript asynchrone et XML). Ajax nous permet d'effectuer des requêtes HTTP sans recharger la page, permettant ainsi la communication entre le client et le serveur.

Étape 1 : Modifier le balisage HTML

Modifiez les boutons de soumission existants en >

<input type="submit">

Étape 2 : Introduire jQuery

Charger jQuery dans votre page et définissez un gestionnaire d'événements de clic pour les éléments ".button". Dans le gestionnaire, capturez la valeur du bouton et effectuez une demande de publication Ajax vers un script PHP désigné, ajax.php.

$(document).ready(function(){
    $('.button').click(function(){
        var clickBtnValue = $(this).val();
        var ajaxurl = 'ajax.php',
        data =  {'action': clickBtnValue};
        $.post(ajaxurl, data, function (response) {
            // Response div goes here.
            alert("action performed successfully");
        });
    });
});

Étape 3 : Gérer la demande Ajax

Dans ajax.php, nous utiliserons une instruction switch pour différencier les actions insert et select, en appelant les fonctions correspondantes. Nous ferons également écho au résultat pour l'afficher sur la page.

<?php
    if (isset($_POST['action'])) {
        switch ($_POST['action']) {
            case 'insert':
                insert();
                break;
            case 'select':
                select();
                break;
        }
    }

    function select() {
        echo "The select function is called.";
        exit;
    }

    function insert() {
        echo "The insert function is called.";
        exit;
    }
?>

Profitez des appels de fonction PHP dynamiques

En adoptant cette approche basée sur Ajax, vous pouvez désormais appelez les fonctions PHP en cliquant sur un bouton et affichez les résultats de manière transparente sur la même page. Profitez de la puissance d'Ajax pour améliorer l'interaction des utilisateurs et obtenir une expérience Web réactive et dynamique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn