2010-10-11 132 views
1

我的代码如下,我想删除mysql数据库中的记录,但在删除浏览器之前,必须提示用户是否应继续删除。我的问题是我的逻辑不管它删除记录,无论如何。任何帮助将不胜感激。PHP:从数据库中删除一些提示从javascript

if (isset($_POST['outofqcellchat'])){ 
?> 
<script type ="text/javascript"> 
var question = confirm("Are you sure you want to unsubscribe\nThis will delete all your facebook information in QCell Facebook"); 
if(question){ 
<?php 
$delusr = mysql_query("delete from `chat_config` where `phone` = '$phonenumb'"); 
$row = mysql_num_rows($delusr); 
if($row>=1){ 
header("Location:http://apps.facebook.com/qcellchat"); 
} 
?> 
alert("Unsubscribed, You can register again any time you wish\nThank You"); 
}else { 
alert("Thanks for choosing not to unregister \nQCell Expand your world"); 
} 
</script> 
<?php 
} 
?> 

这就是我的代码。请帮助

回答

1

在客户端看到JavaScript之前,PHP在服务器上运行。改用AJAX或表单提交。

3

你在PHP和Javascript之间有一个基本的误解。 PHP代码将被执行,而不管任何JavaScript条件(在PHP完成后,在浏览器中将处理很长时间)。

您需要更改逻辑,以确认删除操作将用户重定向到删除记录的PHP页面,或启动具有相同效果的Ajax请求。

+0

我中号只使用一个页面而不是两个 – 2010-10-11 10:56:53

+0

@Sheriffo是的,这正是你的问题。 – 2010-10-11 10:57:35

+0

所以我不能这样做在一个页面 – 2010-10-11 11:00:09

4

您想在点击锚标签或按钮时提示用户。例如使用锚定标记

<a href="delete.php" onclick="return javascript:confirm("Are you sure you want to delete?");" />Delete</a> 

这会提示用户。

或者您可以使用JavaScript函数,如

<a href="delete.php" onclick="return check();" />Delete</a> 

    <script type="text/javascript"> 
    function check(){ 
    var question = confirm("Are you sure?"); 
    if(question){ 

    return true; 

    }else{ 

    alert("Thanks for not choosing to delete"); 
    return false; 

    } 

    } 
</script> 

希望这有助于。

+0

对于很好的示例代码+1。也许你应该为'delete.php'添加一个'?id = 1234'的例子,尽管为了清晰起见 – 2010-10-11 10:44:10

+0

你的代码是正确的并且投票:它与我使用的代码相同,但为什么如果我取消它仍然会删除? – humphrey 2013-05-02 18:30:46

-1

尝试将您的PHP与javascript分开,并且不要忘记使用您定位的确切链接进行删除,如果您想要删除一个一个的记录,请在href中将其删除。

删除

<script type="text/javascript"> 
function check(){ 
var question = confirm("Are you sure?"); 
if(question){ 

return true; 

}else{ 

alert("Thanks for not choosing to delete"); 
return false; 

} 

}