include "config.inc.php";
//include "header.inc.php";
//判断是否提交了数据
$username = $_POST['username'];
$password1 = $_POST['password1'];
$password2 = $_POST['password2'];
$ip = getIPAddress(); //判断用户是否存在 $query = "select * from chatter_users where username = '$username'";
$result = @mysql_query($query); $num_rows = mysql_num_rows($result); if ($num_rows == 0) {
//用户名不存在
if ($password1 == $password2) {
$password == $password1; //将用户数据信息插入库
$query = "insert into chatter_users (username,ip,password) values ('$username','$ip','$password');";
$result_adduser = @mysql_query($query);
//判断是否插入成功
$affected_rows = mysql_affected_rows();
if ($affected_rows > 0) {
ExitMessage("插入成功","");
}else {
echo "插入失败";
}
}else {
ExitMessage("两次输入的密码不一致","");
}
}else {
ExitMessage("用户名已经存在!","register.php");
}?>
<html>
<body>
<h1>小郝聊天室注册</h1>
<form name="form1" method="post" action="register.php">
  <label>用户名
  <input type="text" name="username" value=""/>
  </label>
  <p>
    <label>密码
    <input type="password" name="password1" value=""/>
    </label>
  </p>
  <p>
    <label>确认密码
    <input type="password" name="password2" value=""/>
    </label>
  </p>
  <p>
    <label>
    <input type="submit" name="Submit" value="提交" />
    </label>
  </p>
</form>
</body>
</html>第一次可以插入,可是以后在访问这个页面每次都提示插入用户名已存在,什么问题,高人帮忙看看,解释清楚点,谢谢了

解决方案 »

  1.   

    <?php
    include "config.inc.php";
    //判断是否提交了数据
    $username = $_POST['username'];
    $password1 = $_POST['password1'];
    $password2 = $_POST['password2'];
    $ip = getIPAddress();//判断用户是否存在
    $query = "select * from chatter_users where username = '$username'";
    $result = @mysql_query($query);$num_rows = mysql_num_rows($result);if ($num_rows == 0) {
    //用户名不存在
    if ($password1 == $password2) {
    $password == $password1; //将用户数据信息插入库
    $query = "insert into chatter_users (username,ip,password) values ('$username','$ip','$password');";
    $result_adduser = @mysql_query($query);
    //判断是否插入成功
    $affected_rows = mysql_affected_rows();
    if ($affected_rows > 0) {
    ExitMessage("插入成功","");
    }else {
    echo "插入失败";
    }
    }else {
    ExitMessage("两次输入的密码不一致","");
    }
    }else {
    // 数据库有用户,就进入这个分支了
    // 不用输出信息就可以了
    // ExitMessage("用户名已经存在!","register.php");
    }
    ?>
    <html>
    <body>
    <h1>小郝聊天室注册</h1>
    <form name="form1" method="post" action="register.php"><label>用户名 <input
    type="text" name="username" value="" /> </label>
    <p><label>密码 <input type="password" name="password1" value="" /> </label>
    </p>
    <p><label>确认密码 <input type="password" name="password2" value="" /> </label>
    </p>
    <p><label> <input type="submit" name="Submit" value="提交" /> </label></p>
    </form>
    </body>
    </html>发代码请先格式化代码,使用用代码高亮工具。
    问题解决后,请及时结帖
      

  2.   

    因为你没有关闭浏览器,所以$_POST['username'];这些数据还在缓存中,你再次访问的时候当然直接插入用户到数据库了。
      

  3.   

    <?php
    /*
     * Created on 2010-8-28
     * power by Hope
     * Xiao hao you are the best! Come on
     * PHPeclipse
     */ include "config.inc.php";
    //include "header.inc.php";
    //判断是否提交了数据  if (isset($_POST['username'])&&isset($_POST['password1'])&&isset($_POST['password2'])) {    $username = $_POST['username'];
    $password1 = $_POST['password1'];
    $password2 = $_POST['password2'];
    $ip = getIPAddress(); //判断用户是否存在 $query = "select * from chatter_users where username = '$username'";
    $result = @mysql_query($query); $num_rows = mysql_num_rows($result); if ($num_rows == 0) {
    //用户名不存在
    if ($password1 == $password2) {
    $password == $password1; //将用户数据信息插入库
    $query = "insert into chatter_users (username,ip,password) values ('$username','$ip','$password');";
    $result_adduser = @mysql_query($query);
    //判断是否插入成功
    $affected_rows = mysql_affected_rows();
    if ($affected_rows > 0) {
    ExitMessage("插入成功","login.html");
    }else {
    echo "插入失败";
    }
    }else {
    ExitMessage("两次输入的密码不一致","register.html");
    }
    }else {
    ExitMessage("用户名已经存在!","register.html");
    }  unset($_POST['username']);
       unset($_POST['password1']);
        unset($_POST['password2']);
      }
    ?>
    经常是改成这个样子可以,书上面判断isset($_post[‘submit’])这个总是不行,$_post['submit']总是得不到值
      

  4.   


    <?php
    include "config.inc.php";
    if($_POST){
    //判断是否提交了数据
    $username = $_POST['username'];
    $password1 = $_POST['password1'];
    $password2 = $_POST['password2'];
    $ip = getIPAddress();

    //因为你数据库里面已经有一个用户名是 空的用户了
    if(empty($username) || empty($password1) || empty($password2)) ExitMessage("请先将表单填写完整!","register.php");

    //判断用户是否存在
    $query = "select * from chatter_users where username = '$username'";
    $result = @mysql_query($query);

    $num_rows = mysql_num_rows($result);

    if ($num_rows == 0) {
        //用户名不存在
        if ($password1 == $password2) {
            $password == $password1;

            //将用户数据信息插入库
            $query = "insert into chatter_users (username,ip,`password`) values ('$username','$ip','$password');";
            $result_adduser = @mysql_query($query);
            //判断是否插入成功
            $affected_rows = mysql_affected_rows();
            if ($affected_rows > 0) {
                ExitMessage("插入成功","");
            }else {
                echo "插入失败";
            }
        }else {
            ExitMessage("两次输入的密码不一致","");
        }
    }else{
        // 数据库有用户,就进入这个分支了
        ExitMessage("用户名已经存在!","register.php");
    }
    }
    ?>
    <html>
    <body>
    <h1>小郝聊天室注册</h1>
    <form name="form1" method="post" action="register.php"><label>用户名 <input
        type="text" name="username" value="" /> </label>
    <p><label>密码 <input type="password" name="password1" value="" /> </label>
    </p>
    <p><label>确认密码 <input type="password" name="password2" value="" /> </label>
    </p>
    <p><label> <input type="submit" name="Submit" value="提交" /> </label></p>
    </form>
    </body>
    </html>