我正在构建一个PHP& mySQLi CRUD app。
在functions.php文件中,我有一个负责删除个人用户的功能:
function delte_single_user() {
if (isset($_GET['id'])) {
global $con;
$user_id = $_GET['id'];
$sql = "DELETE * FROM `users` WHERE `id`= " . (int)$user_id . ";";
$result=mysqli_query($mysqli, $sql);
}
}
在显示用户的文件中,我有CRUD“按钮”:
<ul class="list-inline">
<li><a title="View user" href="view_user.php?id=<?php echo $arr['id']; ?>"><span class="glyphicon glyphicon-user"></span></a></li>
<li><a title="Delete user" onclick="delte_single_user()"><span class="glyphicon glyphicon-trash"></span></a></li>
</ul>
正如你所看到的,我试图在点击删除按钮,JavaScript样式时触发delte_single_user()
(我是PHP的新手,但我有很多经验的JavaScript)。但它不起作用。
那么,PHP最接近我使用delte_single_user()
的替代方法是什么?
注意:我试图避免创建一个delete_user.php文件,因为它没用。
谢谢!
答案 0 :(得分:0)
你不能直接从JS调用PHP函数。
您需要进行ajax调用或重定向到处理删除的PHP脚本。
与链接到view_user.php
脚本相同。
您可以创建一个名为delete_user.php
的新脚本,并使用GET将其传递给用户的ID。在这个脚本里面放了上面的函数并调用它。
<a title="Delete user" href="delete_user.php?id=SOME_ID">DELETE</a>
编辑:
考虑使用user.php
脚本来处理与用户相关的所有内容。像:
user.php?action=view&id=USER_ID
user.php?action=delete&id=USER_ID
这样您就可以拥有一个文件,而user.php
可以执行以下操作:
if(isset($_GET['action']) && $_GET['action'] == 'delete') {
// check id
// delete the user AND redirect the user back (if not using ajax)
} elseif (/* check if action=view */) {
// ...
}