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

时间:2012-01-25 10:23:50

标签: php function button call

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

<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>';

                 }
?>

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

代码:

<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>

答案 2 :(得分:0)

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

然而,

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

答案 3 :(得分:0)

如下所示调用服务器端的功能,并在执行查询后重定向页面。

<?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");

}

&GT;

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