用onClick执行PHP函数

我正在寻找一个简单的解决scheme来调用PHP函数只有当标签被点击。

PHP:

function removeday() { ... } 

HTML:

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

更新: HTML和PHP代码在相同的PHP文件

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

  • 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和DELETE通过$ _REQUEST),所以这就是你如何运行一个PHP函数,即使它们在同一个文件中。 这给了你一个安全级别,“我应该为这个用户运行这个脚本还是不是?”。

如果您不想刷新页面,则可以通过称为Asynchronous JavaScript and XML(AJAX)的方法向PHP发出请求,而无需刷新。

这是你可以在YouTube上查找的东西。 只要search“jquery ajax”

我推荐Laravel给所有新开始的人: http ://laravel.com/

在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 } 

你将不得不通过AJAX来做到这一点。 我重新推荐你使用jQuery来使你更容易….

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

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

如果这是你的button,可以用相当简单的php来完成

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

这是你的PHP代码

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

当button被点击时发生的提交get的被发送的代码被调用。

尝试做这样的事情:

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