2012-01-25 2 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

Я думаю, вы могли бы предоставить подробную информацию о том, что решает ваше решение. Благодарю. –

Смежные вопросы