【问题标题】:Run php function on button click在按钮单击时运行 php 函数
【发布时间】:2015-12-25 18:37:24
【问题描述】:

我想在单击按钮时运行 php 函数。例如:

<input type="button" name="test" id="test" value="RUN"  onclick="<?php echo testfun(); ?>" /><br/>

<?php

function testfun()
{
   echo "Your test function on button click is working";
}

?>

我的问题是,当我这样做时,我没有得到我正在寻找的预期输出。请给我最好的解决方案,以便在按钮单击时运行 php 函数,无论是简单的button 还是 submit

【问题讨论】:

  • 你不能这样做,php是一种脚本语言。如果你想点击事件尝试 Javascript

标签: php function button onclick submit-button


【解决方案1】:

您可以使用isset()

<form method="post">
    <input type="submit" name="test" id="test" value="RUN" />

</form>

<?php

function testfun()
{
   echo "Your test function on button click is working";
}

if(isset($_POST('submit')))
{
   testfun();
}

?>

【讨论】:

    【解决方案2】:

    没问题您可以轻松使用onClick()功能,而无需使用任何其他语言干扰,

    <?php
    echo '<br><Button onclick="document.getElementById(';?>'modal-wrapper2'<?php echo ').style.display=';?>'block'<?php echo '" name="comment" style="width:100px; color: white;background-color: black;border-radius: 10px; padding: 4px;">Show</button>';
    ?>
    

    【讨论】:

    • 您好,按钮显示...但我没有得到应用程序,所以问题的解决方案。如果您添加它,谢谢。
    【解决方案3】:
    <a href="home.php?click=1" class="btn">Click me</a>
    <?php 
      if($_GET['click']){
        doSomething();
      }
    ?>
    

    但是最好用JS和ajax来调用函数!

    【讨论】:

      【解决方案4】:

      我尝试了威廉的代码,谢谢兄弟。

      但它不是一个简单的按钮,我必须使用 method="post" 添加表单。我也必须写提交而不是按钮。

      下面是我的代码..

      <form method="post">
          <input type="submit" name="test" id="test" value="RUN" /><br/>
      </form>
      
      <?php
      
      function testfun()
      {
         echo "Your test function on button click is working";
      }
      
      if(array_key_exists('test',$_POST)){
         testfun();
      }
      
      ?>
      

      【讨论】:

        【解决方案5】:

        您正在尝试调用 javascript 函数。如果你想调用一个 PHP 函数,你必须使用例如一个表单:

            <form action="action_page.php">
               First name:<br>
               <input type="text" name="firstname" value="Mickey">
               <br>
               Last name:<br>
               <input type="text" name="lastname" value="Mouse">
               <br><br>
               <input type="submit" value="Submit">
             </form> 
        

        (原文来自:http://www.w3schools.com/html/html_forms.asp

        所以如果你想做一个异步调用,你可以使用“Ajax”——是的,这就是 Javascript 方式。但我认为,我的代码示例对于这次来说已经足够了 :)

        【讨论】:

          【解决方案6】:

          这样做:

          <input type="button" name="test" id="test" value="RUN" /><br/>
          
          <?php
          
          function testfun()
          {
             echo "Your test function on button click is working";
          }
          if(array_key_exists('test',$_POST)){
             testfun();
          }
          ?>
          

          【讨论】:

          • 如果不被具有method ="POST" 属性的form 标签包裹,它会起作用吗?
          猜你喜欢
          • 2013-04-04
          • 2022-12-03
          • 1970-01-01
          • 2012-01-23
          • 2020-10-21
          • 2011-11-17
          • 1970-01-01
          • 1970-01-01
          • 2021-09-05
          相关资源
          最近更新 更多