首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

confirm一问

我通过一个链接用GET方法传递一个ID给本页处理,处理前用js的confirm来确认,但出现问题,大家帮下忙!
代码如下:

CODE:
[Copy to clipboard]
<?php
//处理部分
if($_GET["id"]){
 echo
"<script language=javascript>if(!confirm('确定删除: ".$username."')) history.back(1);</script>";
$sql="delete from $usertable where id='$_GET[id]'";
$db->del($sql);
}
?>
这样当我点了链接激活该处理程序时,会弹出确认对话框,但无论我选取消还是确定,程序都会执行后面的$db->del($sql);语句,只是选取消会返回上一界面(删除操作也进行了).
我该如何改才对?
昵称: timwhoung  时间: 2004-05-23 03:13:00
晕。
只要$_GET[id]的值不为空
在js弹出来问你是否删除的时候,sql语句早都执行完了。 js里选‘是’或者‘否’有什么意义么。忘了php是在服务器端执行的么?即使是后退也是先执行完sql,再后退的。。。。。。

建议是本页里弄个表单,在询问用户确认提交后,提交存储$_GET[id]的表单
昵称: longhorn  时间: 2004-05-23 09:56:00
极是极是,谢谢老兄!
昵称: timwhoung  时间: 2004-05-23 12:54:00
<html><head><title>删除记录</title>
<body topmargin=10 leftmargin=10>
<br>
<center><script language="javascript">
<!--
cao();
function cao()
{
a=confirm("你即将删除选中的记录及其所有分类子记录。\n注意,这个操作不可恢复!\n如果你确认删除,请点击确认,否则请点取消。");
if(a==0) history.go(-1);
}
-->
</script>
<?
$myconn=mysql_connect("$dbhost","$dbusername","$dbpass");
mysql_select_db($dbname,$myconn);
//执行删除操作
        echo "你已经成功删除了选中的记录,<a href=index1.php>点这里返回</a>";
mysql_close($myconn);
</center>
</body></html>
我这个能用,没有出现那情况,吼吼!!
昵称: wild-dog  时间: 2004-05-24 20:22:00


QUOTE:
最初由 longhorn 发布
建议是本页里弄个表单,在询问用户确认提交后,提交存储$_GET[id]的表单 [/B]
我现在这样做也不成功,请帮忙:
在JS中定义了一个函数confirm_it内容如下:

CODE:
[Copy to clipboard]
function confirm_it(tips,url)
{
if(confirm(tips)) this.submit;
else location.href=url;
}
再在form中加入onsubmit=confirm_it('确认删除吗?','test.htm')
结果:我提交该form时会弹出该确认对话框,但无论我选确定还是选否,程序都将该form提交到action所指的页,并不会转到url所指的页.
昵称: timwhoung  时间: 2004-05-26 18:04:00
<html>
<head>
<script>
function confirmIt(tip,url)
{
     if(confirm(tip))
    {
         document.myForm.action=url
         return true;
    }
    else
    {
         alert("操作被取消!");
         return false;
    }
}
</script>
</head>
<body>
<form name="myForm" method=GET onsubmit="return confirmIt('确定要删除么?','http://phpx.com')">
<input type="hidden" value="2" name="id">
<input type="submit" value="提交">
</form>
</body>
</html>


id设定成为了隐藏域
昵称: longhorn  时间: 2004-05-26 19:52:00