一个用户注册页面,首先检查用户名是否存在
 if (!$this->accountCheck()) {
            $this->formdata["error"]["customer_id"] = "用户ID ".$this->formdata["customer_id"]." 已存在。";
            
            return;
        }
然后更新用户:
$GLOBALS["dbPNC"]->insert("customer_info", $udatedata, $keydata);发送邮件通知用户已经注册成功:
$GLOBALS["commonPNC"]->sendMailsByShitei($adminrow['objvalue'], $tomail, $mailtitle, $mailbody);最后页面跳转到注册成功:$this->filename = "userAuthComplete.php";
$this->screenname = "认证成功";以上功能单独拿出来都是很正常的。现在碰到的问题是明明不存在的ID,点确定按钮后总是说用户已存在,但实际上后台数据库,邮件都正常更新发送了。
感觉是先正常执行了一遍但没有跳转到认证成功页面,又执行了一次注册页面,所以又accountCheck(),发现这个ID已经有了。
更奇怪的是经常在一台机器上新配置好wampserver2.2a后,可以正常跳转到成功页面,不知道改了什么配置就不行了。然后重新安装wampserver2.2a后还是问题依旧非常棘手,请大家帮忙看看,谢谢了

解决方案 »

  1.   


    现在的问题应该是首次判断是没有这个ID,可以执行下去,然后更新数据库,发送邮件都OK,但就是没有跳转到认证成功页面,又执行了一次用户注册页面,重新判断ID,这个时候应为前面更新过了,所以报出用户已存在。但是同样的代码在有的机器上就没问题,甚至是一开始在这台机器上没问题,不知道改了什么配置就出这个问题,怎么还原配置都没用
      

  2.   

    既然怀疑是重复提交,那就先检查这个问题呀。在程序里想办法确认是否重复执行了,比如可以下断点,也可以输出个记录文件。web 调试的基本手段就是:服务器端断点单步运行,客户端观察网络数据流。高级一点的还有客户端脚本调试运行。hehe

    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
      

  3.   


    可以确认是重复提交了。否则在第一次判断不通过就该retrun了但就是不知道为什么会重复提交,有些机器上就是正常的
      

  4.   

    看来是浏览器问题了在IE6,火狐,谷歌浏览器下正常IE7,8出问题
    IE9最奇怪,一开始好的,后来又出问题了,无法解释
      

  5.   

    <input src="/img/btn_deside.jpg" alt="確定" type="image" id="send" />
    提交按钮就是这么写的,有高手能看出是哪里出了浏览器兼容问题么?