MsgBox();这个是什么?
这两句很奇怪
unset($db);
exit('注册成功!');

解决方案 »

  1.   

    MSGBOX是一个自定义对话框函数,这个没问题的。
     
     function MsgBox($Message,$n,$URL)
      {
      $Copyright = '\n\n            Copyright@2006 by XXX.COM';
      echo '<script language=javascript>alert("'.$Message.$Copyright.'");';      If ($n == 1)
      echo 'history.go(-1);';//后退
          elseif ($n == 2)
      echo 'window.close();';//关闭
      elseif ($n == 3)
      echo 'parent.location.href="'.$URL.'";';//跳转
      echo '</script>';   return;
      }
      

  2.   

    unset($db);
    exit('注册成功!');这二句是先销毁$db数据库变量
    然后结束程序,并输出注册成功
      

  3.   

    请大家帮帮我。我一直在线。太奇怪了,为什么会执行两遍ChkExist函数。以下是ChkExist函数:  //========== 判断是否存在 ==========
      //参数:$tbl_name:表名,$field_name:字段名,$value_name:数值
      function ChkExist($tbl_name,$field_name,$value_name)
      {
      global $db;
      $sql = "select ".$field_name." from ".$tbl_name." where ".$field_name." = '".$value_name."'";
      //echo $sql;
      $result = $db->query($sql);
      $num_results = $result->num_rows;
          
      if ($num_results != 0)
      $mess = 'false'; //存在
      else
      $mess = 'true'; //不存在   unset($sql);
      return $mess;   
      }
      

  4.   

    你把   //echo $sql; 开开,然后看一下,是不是输出二次SQL , 检查一下 SQL 的语句有没有问题。
      

  5.   

    把代码独立出来,确定没有其他的代码,干扰到程序运行。看流程,不可能会执行到二遍的ChkExist。
      

  6.   

    在你执行insert用户成功之后程序都exit了,怎么会再回去执行那个函数呢?
      

  7.   

    Please show us the whole codes of the check login page.
      

  8.   

    代码都有了啊。就是在执行以下这段会员注册代码的问题。
    比如我要注册一个aaa会员帐号,数据库中的确没有这个帐号,应该是可注册的,可是提交之后,提示“会员帐号已存在!”,一开始以为判断会员帐号是否存在的函数ChkExist写错了,经测试后发现,这个函数ChkExist没有写错,而是程序先完成insert into之后,不知道哪里又返回到上面执行函数ChkExist,再报出的提示。问题就在为什么又回没到上面来,照理说按顺序执行,先判断帐号不存在,则insert,然后再提示“注册成功”,可现在变成了,先判断帐号不存在,然后insert,然后再判断帐号是否存在。太奇怪了。<?php
      
        include_once('../Library/Conn.php');
     
        if ($_SESSION['IdentCode'] == $_POST['IdentCode'])//验证码
        {
          $user_name     = $_POST['user_name'];      //会员帐号
          $user_pswd     = md5($_POST['user_pswd']); //会员密码
      
          $user_name_mess = ChkExist('tbluser','user_name',$user_name); //判断会员帐号是否存在
          if ($user_name_mess == 'false')
          {
            MsgBox('会员帐号已存在!','1','null'); //若存在则返回MsgBox函数
            exit;
          }
         
          if ($user_name_mess == 'true' and $user_email_mess  == 'true')
          {
            $sql = "insert into tbluser (user_name,user_pswd) values ('".$user_name."','".$user_pswd."')";
            $result = $db->query($sql);
            if ($result)
            {
              unset($db);
     exit('注册成功!');
            }
            else
            {
     MsgBox('未知原因导致注册失败,请联系网站技术支持!','1','null');
     exit;
            }
          }
        }    
    ?>
      

  9.   

    exit('注册成功!');
    这句根本没有输出
      

  10.   

    $result = $db->query($sql);
            if ($result)
            {
              unset($db);
     exit('注册成功!');
            }检查$result的值。
    你使用了自定义的类,谁知道插入时$db->query($sql)会返回什么?
      

  11.   

    Are the other functions like msgbox,checkexist defined in the page too???
      

  12.   

    $result的是1,对的。
    我将MsgBox和ChkExist两个函数都帖出来了,在二楼和四楼。
      

  13.   

    Maybe you sumit the data twice.....check the submit file.
      

  14.   

    很少见人这样用
    unset($db);
      

  15.   

    提交之前的页面JAVASCRIPT有没有重复提交2次的情况?发出来看看!
      

  16.   

    浏览器是这样,不用管的,不用 alert 这种东西就没事
      

  17.   

    怀疑是ChkExist的问题。
    有这么一句
    $result = $db->query($sql);
    $num_results = $result->num_rows;//这行好像不对你把你的db类贴出来看看,或者在主程序的
    $user_name_mess = ChkExist('tbluser','user_name',$user_name); //判断会员帐号是否存在
    这一句下面echo $user_name_mess;看看填入一个已有的用户名后输出什么值