通过用户操作触发PHP脚本的一部分,而无需进入新表单


triggering a portion of a php script through a user action without going into a new form?

我刚开始学习PHP,想知道是否有一种方法来触发一个PHP脚本的一部分(一个函数真的),当用户点击一个链接/按钮,而不重定向用户到一个新的PHP脚本页面?

基本上,是否有一种方法可以通过客户端用户操作调用php函数,就像你在javascript中一样?

PHP不是客户端。它只是生成一个页面并将其发送到用户的浏览器。

您需要将javascript合并到您返回客户端操作的页面中。最常见的方法是让javascript在后端对php脚本进行AJAX调用。

下面是如何使用JQuery使用$.ajax() [Docs]

$('#my-button').click(function(){
    $.ajax({
        url:      'my_php_page.php?route=my_preferred_function',
        data:     'foo=bar',
        type:     'post',
        dataType: 'json',
        success:  function(data){
            alert('Response = ' + data);
        }
    });
});
大多数MVC框架——例如CodeIgniter允许你通过URL: http://domain.com/mycontroller/myfunc在控制器中执行特定的功能。如果函数有两个参数,例如:
public function foobar($foo,$bar){
    // do something
}

你可以通过http://domain.com/mycontroller/foobar/abc/123访问它,使你的ajax调用超级容易。