PHP:删除前确认框

标签 php javascript html mysql stored-procedures

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

相关文章:

html - 将 rvest::html_nodes() 与来自 SelectorGadget 或 Chrome 开发者工具的 CSS 标签一起使用总是返回空列表

php - Ubuntu 16.10 x64 上的 Laravel 5.3 的 Cron 作业

使用创建的对象调用另一个函数后,Javascript 创建的对象属性值未定义

javascript - 延迟加载图像如何

html - Bootstrap 3 HTML CSS

javascript - 显示部分文本行

php - 相同的查询,不同的结果。 WordPress 排序

php - 关于 CActiveDataProvider 与缓存数据库查询的奇怪行为

php - 如何使用 session ID 进行身份验证

javascript - 访问异步模块内部类的方法或