执行PHP函数的onclick执行PHP函数的onclick(Execute PHP functio

2019-05-08 20:26发布

我正在寻找一个简单的解决方案是点击一个标签时,只调用PHP函数

PHP:

function removeday() { ... }

HTML:

<a href="" onclick="removeday()" class="deletebtn">Delete</a>

UPDATE:HTML和PHP代码在同一个PHP文件

Answer 1:

首先,要明白,你有三种语言一起工作。

  • PHP:仅受服务器上运行,并响应像点击一个链接(GET)或提交表单(POST)请求。

  • HTML和JavaScript的:仅仅是在别人的浏览器中运行(不包括的NodeJS)。

我假设你的文件看起来是这样的:

<html>
<?php
  function runMyFunction() {
    echo 'I just ran a php function';
  }

  if (isset($_GET['hello'])) {
    runMyFunction();
  }
?>

Hello there!
<a href='index.php?hello=true'>Run PHP Function</a>
</html>

由于PHP只响应请求(GET,POST,PUT,PATCH,并通过$ _REQUEST DELETE),这是你怎么也得跑,即使他们是在同一个文件中的PHP函数。 这给你安全的水平,“我应该运行此脚本,该用户或不是?”。

如果你不想刷新页面,你可以通过一个称为异步JavaScript和XML(AJAX)方法无需刷新到PHP的请求。

这是你可以看一下在YouTube上虽然。 只要搜索“jQuery的AJAX”

我建议Laravel给任何人新的开始抵消权: http://laravel.com/



Answer 2:

在JavaScript中,使一个AJAX功能,

function myAjax() {
      $.ajax({
           type: "POST",
           url: 'your_url/ajax.php',
           data:{action:'call_this'},
           success:function(html) {
             alert(html);
           }

      });
 }

然后从HTML调用,

<a href="" onclick="myAjax()" class="deletebtn">Delete</a>

而在你ajax.php,

if($_POST['action'] == 'call_this') {
  // call removeday() here
}


Answer 3:

你将不得不通过AJAX来做到这一点。 我严重reccommend你使用jQuery使它更容易为你....

$("#idOfElement").on('click', function(){

    $.ajax({
       url: 'pathToPhpFile.php',
       dataType: 'json',
       success: function(data){
            //data returned from php
       }
    });
)};

http://api.jquery.com/jQuery.ajax/



Answer 4:

这是可以做到与相当简单的PHP,如果这是你的按钮

<input type="submit" name="submit>

这是你的PHP代码

if(isset($_POST["submit"])) { php code here }

代码获取的调用时提交获得的发布按钮被点击时发生。



Answer 5:

试着这样做:

<!--Include jQuery-->
<script type="text/javascript" src="jquery.min.js"></script> 

<script type="text/javascript"> 
function doSomething() { 
    $.get("somepage.php"); 
    return false; 
} 
</script>

<a href="#" onclick="doSomething();">Click Me!</a>


Answer 6:

这是最简单可行的方法。 如果表格是通过邮递方式,做php函数。 需要注意的是,如果你想异步执行功能(无需重新加载页面),那么你就需要AJAX。

<form method="post">
    <button name="test">test</button>
</form>

    <?php
    if(isset($_POST['test'])){
      //do php stuff  
    }
    ?>


Answer 7:

试试这个它会正常工作。

<script>
function echoHello(){
 alert("<?PHP hello(); ?>");
 }
</script>

<?PHP
FUNCTION hello(){
 echo "Call php function on onclick event.";
 }

?>

<button onclick="echoHello()">Say Hello</button>


Answer 8:

解决方案,无需页面重载

<?php
  function removeday() { echo 'Day removed'; }

  if (isset($_GET['remove'])) { return removeday(); }
?>


<!DOCTYPE html><html><title>Days</title><body>

  <a href="" onclick="removeday(event)" class="deletebtn">Delete</a>

  <script>
  async function removeday(e) {
    e.preventDefault(); 
    document.body.innerHTML+= '<br>'+ await(await fetch('?remove=1')).text();
  }
  </script>

</body></html>


文章来源: Execute PHP function with onclick