2014-09-28 34 views
0

触发PHP函数我有一个简单的函数,从数据库中删除行...与HTML按钮

<?php 
function messaging_remove_message($tmp_mid) { 
    global $wpdb; 
    $wpdb->query($wpdb->prepare("DELETE FROM " . $wpdb->base_prefix . "messages WHERE message_ID = %d", $tmp_mid)); 
} 
?> 

什么我想现在要做的是当按下删除按钮有这个触发。我知道你不能用HTML触发PHP函数,所以我有什么选择?

回答

-1

可以使用$ _POST数组来检查,如果点击按钮:

<?php 

    if (isset($_POST['buttonname'])) { 
     messaging_remove_message($var); 
    } 

?> 
+0

无法从html中调用此问题,因为问题所述。 – 2014-09-28 12:13:12

+0

您需要添加代码来构建表单以使其成为完整答案。 – Quentin 2014-09-28 12:16:27

+0

啊,还没有读第一行。然后使用$ _GET而不是$ _POST。 if(isset($ _ GET ['mid'])).... – Tyr 2014-09-28 12:16:42

0

最简单的选择是使用AJAX。使用下面的例子:

page.php文件

<?php 
// ...... include necessary config etc files 
messaging_remove_message($_GET['mid']); 
function messaging_remove_message($tmp_mid) { 
    global $wpdb; 
    $wpdb->query($wpdb->prepare("DELETE FROM " . $wpdb->base_prefix . "messages WHERE message_ID = %d", $tmp_mid)); 
} 
?> 

的index.php

<button onclick="call_remove_msg(<?php echo $msg_id; ?>)">Delete</button> 

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script type="text/javascript"> 
function call_remove_msg(id){ 
    $.get("page.php?mid=" + id, function(){alert("Comment deleted!");}); 
} 
</script> 

这在技术上是用AJAX得到改善。在这里了解更多有关您的发展的信息:http://www.w3schools.com/ajax/