我有一个按钮,当按钮单击时,我想调用一个函数来进行一些处理。但是它不会调用该函数。什么时候错了?
<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>';
}
?>
答案 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!" />