如何在html按钮上执行php函数点击

时间:2015-07-02 19:28:55

标签: php html

您好我想在按钮点击时执行bb()功能。
 我尝试了下面的代码,但它没有用。

echo "<div class ='i2' id=".$x.">";
echo "<button type='button' style='display: none;' id='i' name='delete' onclick='document.body.removeChild(this.parentNode)'>";
echo"</button>";
echo "</div>";

<?php

function bb()
{
 echo "hello";
}
if (isset($_GET['delete'])) {
 bb();
}

?>

1 个答案:

答案 0 :(得分:8)

您的按钮是HTML,您的功能是PHP。它们看起来像是在一起,因为它们在同一个文件中,但它们不在一起。 PHP仅存在于服务器上。 HTML仅适用于客户端(浏览器)。当您在浏览器上看到按钮时,PHP就消失了,您只有HTML。

要制作HTML按钮来调用PHP函数,您必须将函数移动到PHP文件,然后使用按钮通过Ajax调用它。例如:

bb1.html :包含使用Ajax调用PHP函数的按钮。

<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script type = "text/javascript">
function myAjax () {
$.ajax( { type : 'POST',
          data : { },
          url  : 'bb2.php',              // <=== CALL THE PHP FUNCTION HERE.
          success: function ( data ) {
            alert( data );               // <=== VALUE RETURNED FROM FUNCTION.
          },
          error: function ( xhr ) {
            alert( "error" );
          }
        });
}
    </script>
  </head>
  <body>
    <button onclick="myAjax()">Click here</button> <!-- BUTTON CALL PHP FUNCTION -->
  </body>
</html>

bb2.php :包含返回“hello”的函数。

<?php

function bb()
{
echo "hello";  // VALUE RETURNED.
}

bb();

?>

创建两个具有给定名称的文本文件,复制粘贴此代码,打开浏览器并运行“localhost / bb1.html”。

这就是一个按钮调用PHP函数的方式:Ajax可以完成所有的魔术。