如何在点击按钮时调用PHP函数

2022-08-30 06:29:27

我创建了一个名为包含两个按钮的页面,提交插入functioncalling.php

我想测试在单击按钮时执行哪个函数。我希望输出显示在同一页面上。因此,我创建了两个函数,每个按钮一个。

<form action="functioncalling.php">
    <input type="text" name="txt" />
    <input type="submit" name="insert" value="insert" onclick="insert()" />
    <input type="submit" name="select" value="select" onclick="select()" />
</form>

<?php
    function select(){
        echo "The select function is called.";
    }
    function insert(){
        echo "The insert function is called.";
    }
?>

这里的问题是,单击任何按钮后,我都没有得到任何输出。

我到底哪里错了?


答案 1

是的,你需要Ajax在这里。有关更多详细信息,请参阅下面的代码。

 

像这样更改标记

<input type="submit" class="button" name="insert" value="insert" />
<input type="submit" class="button" name="select" value="select" />

 

jQuery:

$(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");
        });
    });
});

在ajax中.php

<?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;
    }
?>

答案 2

按钮点击是客户端,而PHP是在服务器端执行的,但你可以通过使用Ajax来实现这一点

$('.button').click(function() {
  $.ajax({
    type: "POST",
    url: "some.php",
    data: { name: "John" }
  }).done(function( msg ) {
    alert( "Data Saved: " + msg );
  });
});

在 PHP 文件中:

<?php
    function abc($name){
        // Your code here
    }
?>

推荐