0

我想在我的网站上添加一个按钮,用户可以在其中删除他的帐户。不幸的是,我不知道如何实现它......到目前为止我的代码: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

4

3 回答 3

2

在这一部分中,您在没有 php open 标记的 javascript 中调用 php 重定向(我认为?),所以这不起作用。相反,如果“if”语句返回 true(yes),则可以使用 javascript reditrect,然后重定向到带有 get 变量 delete 或其他内容的 url,见下文。

编辑——你可能也想要这个ID,所以我做了调整。另外,在表单中的 onclick 中,您需要传递 id,除非它存储在会话变量或其他东西中,在这种情况下,您不需要将其传递到 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 作为函数名称。最后一件事,为了使输入类型“按钮”起作用

于 2013-07-04T01:11:26.793 回答
0

我不确定是否有办法使用您正在尝试的方法来实现它,但我不知道。为此,我通常会在 jquery-ui 对话框中的 OK 按钮的单击事件上使用对 url 的 ajax 调用。然后处理逻辑并成功创建另一个对话框以进行确认。

于 2013-07-04T00:48:45.573 回答
0

我搜索并努力解决这个问题,直到我做了一点横向思考。

我使用JavaScript来显示一个包含 Yes/No 选项的隐藏 div 。

然后在Yes选项周围的onClick将php脚本加载到隐藏的iFrame 中。

No选项周围的onClick只是隐藏了div而没有做任何其他事情。

一个好处是能够以任何我想要的方式设置 div 的样式,使用效果显示和隐藏它,并将它准确地放置在它看起来最好的位置。

于 2018-01-18T05:16:54.020 回答