如何通过单击按钮调用 PHP 函数

新手上路,请多包涵

我创建了一个名为 functioncalling.php 的页面,其中包含两个按钮, SubmitInsert

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

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

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

我到底哪里错了?

原文由 Razor 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 774
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
    }
?>

原文由 Moeed Farooqui 发布,翻译遵循 CC BY-SA 4.0 许可协议

是的,这里需要 Ajax。请参阅下面的代码了解更多详情。

像这样更改您的标记

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

查询:

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

原文由 Roopendra 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题