<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用户注册</title>
<link rel="stylesheet" type="text/css" href="css/register.css" />
<script type="text/javascript"  src="js/ajax.js"></script>
<script type="text/javascript" src="js/check.js"></script>
</head>
<body>
<form action="register.php" method="post" name="frm1">
<div id="fm" class="ccdiv">
<br/>
<div id="div1" class="style1">用户注册</div>
<br/>
<div class="style2"><font color=red>*</font>用 户 名:<input type="text" name="username" id="username" class="ab" onblur="checkname();">
<span name="checkusername" id="checkusername"></span>
</div>
<br/> <div class="style2"><font color=red>*</font>密&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="password" name="password" id="password" class="ab" onblur="checkpassword();">
<span name="checkpassword" id="checkpassword"></span>
</div>
<br/> <div class="style2"><font color=red>*</font>重复密码:<input type="password" name="password2" id="password2" class="ab" onblur="checkpassword2();">
<span name="checkpassword2" id="checkpassword2"></span>
</div>
<br/> <div class="style2"><font color=red>*</font>邮&nbsp;&nbsp;&nbsp;&nbsp;箱:<input type="text" name="email" id="email" class="ab" onblur="checkemail();">
<span id="checkemail" name="checkemail"></span>
</div>
<br/> <div class="style2"><font color="red">*</font>验 证 码:<img src="image/yanzheng.php" alt="看不清,点击换图片" id="img" onclick="this.src='image/yanzheng.php?'+Math.random();" style='cursor:pointer;'>
请输入:<input type="text" name="yanzheng" id="yanzheng" size="4" maxlength="4" onblur="checkyanzheng();">
<span name="checkyanzheng" id="checkyanzheng"></span>
</div>
<br/> <div class="style3"><input type="submit" name="sub" id="sub" value="注册">&nbsp;&nbsp;&nbsp;
<input type="reset" name="reset" id="reset" value="清空">&nbsp;&nbsp;&nbsp;<a href="index.php">返回首页</a>
</div>
<br/>
<div class="style2">如果您已有帐号,请<a href="login.php">点击这里</a>进行登陆</div>
</div>
</form>
</body>
</html>
include("init.php");
if($_SERVER['REQUEST_METHOD'] == 'POST'){
//获取验证信息
$ckusername=@$_SESSION['ckusername'];
$ckpassword=@$_SESSION['ckpassword'];
$ckpassword2=@$_SESSION['ckpassword2'];
$ckemail=@$_SESSION['ckemail'];
$ckyanzheng=@$_SESSION['ckyanzheng'];
//获取页面的信息
$username=$_POST['username'];
$password=$_POST['password'];
$email=$_POST['email'];
$yanzheng=$_POST['yanzheng'];
$passwd=md5($password);
                //如果所有验证为证通过的话
if($ckusername && $ckpassword && $ckpassword2 && $ckemail &&$ckyanzheng){
$ins_query="insert into guest_info(username,password,email) values('$username','$passwd','$email')";
$ins_info=$db->query($ins_query);
if($ins_info){
$_SESSION['username']=$username;
echo "<script>location='tiaozhuan.php';</script>";
}
else
echo "<script>alert('注册失败!')</script>";
}else{
echo "<script>alert('注册失败!')</script>";
}
}这是我的注册页面,各种验证也做好了,就是如果某一验证不通过的时候提交,就会弹出对话框“注册失败!”,原来用户输入的信息就会全部清掉,请问怎么在弹出对话框提示用户后还能保存信息
谢了

解决方案 »

  1.   

    什么意思啊?你是在服务器端验证?
    服务器端验证肯定就不保留信息了,你用JS验证不就好了,如果是要查询数据库的话,就用AJAX不就行了!~
      

  2.   

    你都加载了ajax,为什么不用?而要用传统的方式呢?
      

  3.   

    最简单就是把用户刚刚输入的信息打印到页面就可以了!
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">  <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>用户注册</title>  <link rel="stylesheet" type="text/css" href="css/register.css" />  <script type="text/javascript" src="js/ajax.js"></script>  <script type="text/javascript" src="js/check.js"></script>  </head>  <body>  <form action="register.php" method="post" name="frm1">  <div id="fm" class="ccdiv">  <br/>  <div id="div1" class="style1">用户注册</div>  <br/>  <div class="style2"><font color=red>*</font>用 户 名:<input type="text" name="username" value="<php? if (isset($_SESSION['ckusername'])) echo $_SESSION['ckusername'];>" id="username" class="ab" onblur="checkname();">  <span name="checkusername" id="checkusername"></span>  </div>  <br/>  <div class="style2"><font color=red>*</font>密&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="password" name="password" id="password" class="ab" onblur="checkpassword();">  <span name="checkpassword" id="checkpassword"></span>  </div>  <br/>  <div class="style2"><font color=red>*</font>重复密码:<input type="password" name="password2" id="password2" class="ab" onblur="checkpassword2();">  <span name="checkpassword2" id="checkpassword2"></span>  </div>  <br/>  <div class="style2"><font color=red>*</font>邮&nbsp;&nbsp;&nbsp;&nbsp;箱:<input type="text" name="email" id="email" class="ab" onblur="checkemail();">  <span id="checkemail" name="checkemail"></span>  </div>  <br/>  <div class="style2"><font color="red">*</font>验 证 码:<img src="image/yanzheng.php" alt="看不清,点击换图片" id="img" onclick="this.src='image/yanzheng.php?'+Math.random();" style='cursor:pointer;'>  请输入:<input type="text" name="yanzheng" id="yanzheng" size="4" maxlength="4" onblur="checkyanzheng();">  <span name="checkyanzheng" id="checkyanzheng"></span>  </div>  <br/>  <div class="style3"><input type="submit" name="sub" id="sub" value="注册">&nbsp;&nbsp;&nbsp;  <input type="reset" name="reset" id="reset" value="清空">&nbsp;&nbsp;&nbsp;<a href="index.php">返回首页</a>  </div>  <br/>  <div class="style2">如果您已有帐号,请<a href="login.php">点击这里</a>进行登陆</div>  </div>  </form>  </body> </html>
      

  4.   

    我有用ajax验证啊,就是最好如果不是所有的验证都通过的时候提交就告诉用户注册失败!(是不是有点多此一举?)那大家可不可以给个建议,在验证没有通过的时候提示用户,然后保留信息
      

  5.   

    <form action="register.php" method="post" name="frm1" onSubmit="return register();">
    ..
    ..
    ..
    register()
    {
    //ajax提交数据
    //
    return false;
    }
      

  6.   

    如果你确有ajax验证,那么就没必要有 input type=submit 了,因为"提交"将产生新页面。而ajax是不产生也不能产生新页面的
      

  7.   

    alert('注册失败!');history.back();  
      

  8.   

    提交了到php页面,再在php页面给html页面赋值这样啊
      

  9.   

    用ajax 对每一个输入框和选择项做验证,不通过就不能提交  大概是这个思路  (路过,学习)
      

  10.   

    本帖最后由 xuzuning 于 2010-06-02 17:23:47 编辑