簡體   English   中英

PHP:刪除前確認框

[英]PHP: Confirm Box before deleting

我想在我的網站上添加一個按鈕,用戶可以刪除他的帳戶。 不幸的是我不知道如何實現它...我的代碼到目前為止: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

在這部分你是在沒有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作為函數名稱。 最后一件事,為此工作使輸入類型“按鈕”

我不確定是否有辦法使用您嘗試的方法實現它,但我不知道它。 為此,我通常會在jquery-ui對話框中的OK按鈕的click事件上使用對url的ajax調用。 然后處理邏輯並在成功時創建另一個對話框以進行確認。

我搜索並努力解決這個問題,直到我做了一點橫向思考。

我使用JavaScript來顯示包含Yes / No選項的隱藏 div

然后在Yes選項周圍進行onClick ,將php腳本加載到隱藏的 iFrame中。

圍繞No選項的onClick只是隱藏了div而沒有做任何其他事情。

獎勵是能夠以任何我想要的方式設計div,使用效果顯示和隱藏它,並將其准確放置在最佳位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM