单击php按钮时如何调用函数


How to call a function when button is clicked php

我有一个按钮,当单击该按钮时,我希望它调用一个函数来进行一些处理。但是它不会调用函数。错了怎么办?

<input type="submit" name="submit"  onclick="counterminus()" id="submit" value="Buy!"   
                <?
                    function  counterminus()
{
                        $cmeter = $cmeter - 1;

                        mysql_query("INSERT orders SET quantity='$value',fbId='$fbme',fbName='$fbName', email ='$fbEmail', dealName='$dealName'" );
                        mysql_query("UPDATE stardeal SET cmeter='$cmeter'WHERE dealId='$dealId'");
                        echo '<script type="text/javascript">'
                       , 'reloadPage();'
                       , '</script>';
                 }
?>

问题是您将PHP与客户端语言混淆了。所有的PHP处理都是在页面发送给用户之前在服务器端完成的,因此客户端不能在不向服务器发送请求的情况下调用PHP脚本。

尝试将javascript事件连接到按钮,该按钮将发布到PHP脚本。

我希望这能解决你的问题。

代码:

<html>
    <body>
        <?php
        $a = "hello";
        ?>
        <script>
            function echoHello()
            {
                alert("<?php hello(); ?>");
            }
        </script>
        <?php
        function hello() {
            global $a;
            echo $a;
        }
        ?>
        <button onclick="echoHello()">Say Hello</button>
    </body>
</html>

PHP是一种服务器端脚本语言,这意味着当从服务器请求页面时脚本会执行,当客户端下载页面时脚本就会停止。因此,不可能直接从网页调用PHP函数,因为脚本不再运行。

然而,JavaScript在加载页面时启动,并一直运行到页面关闭。因此,您应该使用它来处理按钮事件。如果您绝对需要在服务器上调用PHP代码,您可以查看AJAX。

如下调用服务器端的函数,并在执行查询后重定向页面。

<?php
if(isset($_REQUEST['submit']))
{
counterminus();
}
  function  counterminus()
{
$cmeter = $cmeter - 1;
mysql_query("INSERT orders SET quantity='$value',fbId='$fbme',fbName='$fbName', email ='$fbEmail', dealName='$dealName'" );
mysql_query("UPDATE stardeal SET cmeter='$cmeter'WHERE dealId='$dealId'");
Header("location:samePage.php");
}

?>

    <input type="submit" name="submit"  id="submit" value="Buy!" />