[英]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.