我想在我的网站上添加一个按钮,用户可以删除他的帐户。不幸的是我不知道如何实现它...... 我的代码到目前为止: 使用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标题头那样的标签......它以?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");
}
}
按钮就在那里,当我点击它时,它询问我是否确定要删除我的帐户,但之后我收到一个错误:“致命错误:调用未定义的函数delete()”< /强>
我有一个名为sp_deleteAccount的存储过程。在我的config.php中,我将其声明为:
$SQL_delete_user = "CALL sp_deleteAccount('";
现在我不知道如何在代码中绑定该存储过程,以便在按下“是,我想删除我的帐户”后删除帐户。
希望我没有错过任何事情,有人可以帮助我 JOP
答案 0 :(得分:2)
在这部分你是在没有php开放标记的javascript中调用php重定向(我认为?),这样就不行了。相反,如果'if'语句返回true(是),则可以使用javascript reditrect,然后重定向到带有delete变量或其他内容的url,请参见下文。
编辑 - 你可能也想要id,所以我做了调整。以你需要传递id的形式在onclick中输入,除非它存储在会话变量或其他东西中,在这种情况下你不需要将它传递给url。你的SQL应该以“WHERE id =”结尾然后只是将id添加到查询中。这只是一个简单的例子,让你开始,总是谨慎的SQL注入,但我会留下来阻止它。
<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作为函数名称。最后一件事,为此工作使输入类型为“按钮”
答案 1 :(得分:0)
我不确定是否有办法使用您尝试的方法实现它,但我不知道它。为此,我通常会在jquery-ui对话框中的OK按钮的click事件上使用对url的ajax调用。然后处理逻辑并在成功时创建另一个对话框以进行确认。
答案 2 :(得分:0)
我搜索并努力解决这个问题,直到我做了一点横向思考。
我使用 JavaScript 来显示包含“是/否”选项的隐藏 div 。
然后围绕是选项 onClick ,将 php 脚本加载到隐藏 iFrame中。
否选项周围的 onClick 只是隐藏了 div 而没有做任何其他事情。
奖励是能够以任何我想要的方式设计div,使用效果显示和隐藏它,并将其准确放置在最佳位置。