如何在 html 按钮单击时调用 php 脚本/函数


How to call a php script/function on a html button click

在有人对我动手或记下这个之前,我已经在互联网上寻找如何做到这一点(包括关于stackoverflow的相同问题)。我是新手,我发现学习新概念非常困难,所以请对我放轻松。

我想做的是在单击按钮时调用 php 脚本/函数。如果有帮助,我会在 WAMP 中运行这个。这是我的代码:

<?php include 'the_script.php'; ?>
<button type="button" onclick="the_function()">Click Me</button>

the_script.php里面有这个:

the_function() {
    echo "You win";
}

为什么这不起作用?我听说过按钮是客户端等,PHP 是服务器端,这意味着您无法将两者链接在一起。我知道你必须使用AJAX来完成这项工作,但是我完全不知道该怎么做。我试过谷歌搜索它等,但我找不到任何东西。我知道如何使用 AJAX 并用它调用事件,但我仍然不知道如何让它调用 PHP 脚本。

你能让你的答案尽可能清晰和简单吗,我是新手

感谢您的帮助:)

编辑***

出于某种原因,无论我走到哪里,每个人的代码都是不同的。我学习 AJAX 的方式看起来完全不同。你能这样写吗,这样我就能理解?谢谢,这里有一个例子:

var request;
if (window.XMLHttpRequest) {
    request = new XMLHttpRequest();
} else {
    request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.open('GET', 'file.php', true);
request.onreadystatechange = function() {
    if (request.readyState===4 && request.status===200) {
        do stuff
    }
}
request.send();

试试这个:

<button type="button">Click Me</button>
<p></p>
<script type="text/javascript">
    $(document).ready(function(){
        $("button").click(function(){
            $.ajax({
                type: 'POST',
                url: 'script.php',
                success: function(data) {
                    alert(data);
                    $("p").text(data);
                }
            });
   });
});
</script>

在脚本中.php

<?php 
  echo "You win";
 ?>

当然,AJAX是解决方案,

要执行 AJAX 请求(为了方便起见,我们可以使用 jQuery 库)。

步骤1.

在网页中包含 jQuery 库

a. 您可以从 jquery.com 下载 jQuery 库并将其保存在本地。

b. 或简单地粘贴以下代码,

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

第 2 步。

单击按钮时调用 JavaScript 函数

<button type="button" onclick="foo()">Click Me</button>

第 3 步。

最后是功能

 function foo () {
      $.ajax({
        url:"test.php", //the page containing php script
        type: "POST", //request type
        success:function(result){
         alert(result);
       }
     });
 }

它将发出 AJAX 请求进行测试.php当您单击按钮并提醒响应时。

例如,测试中的代码.php是,

<?php echo 'hello'; ?>

然后,当您单击按钮时,它会提醒"您好"。

您也可以

使用

   $(document).ready(function() {
    //some even that will run ajax request - for example click on a button
    var uname = $('#username').val();
    $.ajax({
    type: 'POST',
    url: 'func.php', //this should be url to your PHP file
    dataType: 'html',
    data: {func: 'toptable', user_id: uname},
    beforeSend: function() {
        $('#right').html('checking');
    },
    complete: function() {},
    success: function(html) {
        $('#right').html(html);
    }
    });
    });
And your func.php:
  function toptable()
 {
  echo 'something happens in here';
 }

希望它对某人有所帮助

使用 jQuery .在 HTML 页面中 -

<button type="button">Click Me</button>
<script>
$(document).ready(function() {
$("button").click(function(){
  $.ajax({
    url:"php_page.php", //the page containing php script
    type: "POST", //request type
    success:function(result){
    alert(result);
    }
  });
});
})
</script>

PHP页面 -

echo "Hello";
First understand that you have three languages working together.

PHP:仅由服务器运行,并响应单击链接(GET)或提交表单(POST)等请求。 HTML 和 Javascript:仅在某人的浏览器中运行(不包括 NodeJS) 我假设您的文件看起来像这样:

<?php
function the_function() {
echo 'I just ran a php function';
 }
 if (isset($_GET['hello'])) {
  the_function();
  }
   ?>
  <html>
 <a href='the_script.php?hello=true'>Run PHP Function</a>
 </html>

因为 PHP 只响应请求(GET、POST、PUT、PATCH 和 DELETE 通过 $_REQUEST),所以这就是你必须运行 php 函数的方式,即使它们在同一个文件中。这为您提供了一定程度的安全性,"我是否应该为此用户运行此脚本?

如果你不想刷新页面,你可以通过一种叫做异步Javascript和XML(AJAX)的方法向PHP发出请求,而无需刷新。

the_function() {
$.ajax({url:"demo_test.php",success:function(result){
   alert(result); // will alert 1
 }});
}

demo_test.php

<?php echo 1; ?>

笔记

  1. 包含用于使用 jquery Ajax 的 jquery 库
  2. 将demo_test.php文件保存在 JavaScript 所在的文件夹中文件驻留

这样修改the_script.php

<script>
the_function() {
    alert("You win");
}
</script>