我想在我的网站上添加一个按钮,用户可以在其中删除他的帐户。不幸的是我不知道如何实现它...... 到目前为止我的代码: JavaScript:
<script language = "JavaScript" >
function delete(id) {
if (confirm("Do your really want to delete your account?"))
{
header("refresh:1;url=intern.php?act=account");
}
else
{
}
}
</script>
我的 .html 文件:(没有像 html title head 这样的标签...它以 ?php 开头..)
<td></form><input type='submit' name='deleteuser' value='Delete Account' onClick='return delete()'/></form></td>
此外,我在 .html 文件中有一个 if 子句:
if(isset($_POST['deleteuser'])) {
if(delete() == true){
delete_user;
}
else{
header("refresh:1;url=intern.php?act=account");
}
}
按钮就在那里,当我点击它时,它会询问我是否确定删除我的帐户,但后来我收到错误:“ fatal error :调用未定义的函数delete()”
我有一个名为:sp_deleteAccount 的存储过程。在我的 config.php 中,我将其声明为:
$SQL_delete_user = "CALL sp_deleteAccount('";
现在我不知道如何在代码中绑定(bind)该存储过程,以便在按“是的我想删除我的帐户”后删除该帐户。
希望我没有错过任何事情,有人可以帮助我 乔普
最佳答案
在这部分中,您将在没有 php 打开标记的情况下在 javascript 中调用 php 重定向(我认为?),因此这是行不通的。相反,如果“if”语句返回 true(yes),则可以使用 javascript reditrect,然后重定向到带有删除或其他 get 变量的 url,请参见下文。
编辑——你可能也需要 ID,所以我做了调整。另外,在表单中的 onclick 中,您需要传递 id,除非它存储在 session 变量或其他内容中,在这种情况下,您不需要将其传递到 url 中。你的sql应该以“WHERE id=”结尾,然后将id添加到查询中。这只是一个简单的示例来帮助您入门,请始终小心 SQL 注入(inject),但我将让您自行决定是否阻止它。
<script language = "JavaScript" >
function deleteUser(id) {
if (confirm("Do your really want to delete your account?"))
{
window.location.href= 'intern.php?delete=true&id='+id;
}
else
{
window.location.href = 'intern.php?act=account';
}
}
</script>
接下来在 intern.php 中检查 get 变量
if(isset($_GET['delete'])) {
$mysqli = new mysqli(connection variables here);
$mysqli->query($SQL_delete_user.(int)$_GET['id']);
}
尝试一下,根据需要重新排列代码,但这应该可以完成。 至于错误,您不能使用关键字delete 作为函数名称。最后一件事,要使其工作,请输入输入类型“按钮”
关于PHP:删除前确认框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17460258/