2012-01-25 121 views
0

我有一個按鈕,當按鈕被點擊時,我想它調用一個函數來做一些處理。但它不會調用該函數。什麼時候出錯?點擊按鈕時如何調用函數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>'; 

       } 
?> 
+1

這是什麼???? – diEcho

回答

1

出了什麼問題是您將PHP與客戶端語言混淆。在將頁面發送給用戶之前,所有的PHP處理都是在服務器端完成的,因此客戶端無法在不向服務器發送請求的情況下調用PHP腳本。

嘗試將一個javascript事件連接到按鈕上,該按鈕改爲發佈到PHP腳本。

0

PHP是一種服務器端腳本語言,這意味着當從服務器請求頁面的腳本執行,並在客戶端已經下載的頁面停止。因此,不可能直接從網頁調用PHP函數,因爲腳本不再運行。

JavaScript的,然而,當頁面加載和運行,直到頁面被關閉開始。因此,您應該使用它來處理按鈕事件。如果你絕對需要調用服務器上的PHP代碼,你可以看看AJAX

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

} 

?>

<input type="submit" name="submit" id="submit" value="Buy!" /> 
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> 
+1

我想你可以向OP提供你的解決方案解決的細節。謝謝。 –

相關問題