新手求助!
如何实现验证登录密码成功后登录成功后的页面
和点击登录表中的注册按钮后出现的注册页面 已经在数据裤中建立表这是登录的页面
<?php// 设置一个错误消息变量,以便判断是否有错误发生// 以及在客户端显示错误消息。 其初值为空$errmsg = '';if (!empty($username)) {       // 用户填写了数据才执行数据库操作    //---------------------------------------------------------    // 数据验证, empty()函数判断变量内容是否为空    if (empty($username)) {        $errmsg = '数据输入不完整';    }    //---------------------------------------------------------      if(empty($errmsg)) { // $errmsg为空说明前面的验证通过        // 调用mysqli的构造函数建立连接,同时选择使用数据库'test'        $db = @new mysqli("127.0.0.1", "root", "123456", "test");        // 检查数据库连接        if (mysqli_connect_errno()) {            $errmsg = "数据库连接失败!<br>\n";        }        else {            // 查询数据库,看用户名及密码是否正确            $sql = "SELECT * FROM t_user WHERE f_username='$username' AND f_password='$pwd'";            $rs = $db->query($sql);            // $rs->num_rows判断上面的执行结果是否含有记录,有记录说明登录成功            if ($rs && $rs->num_rows > 0) { 
                // 在实际应用中可以使用前面提到的重定向功能转到主页                $errmsg = "登录成功!";
// 更新用户登录信息                $ip = $_SERVER['REMOTE_ADDR'];  // 获取客户端的IP                $sql = "UPDATE t_user SET f_logintimes = f_logintimes + 1,";                $sql .= "f_lasttime=now(), f_loginip='$ip' ";                $sql .= " WHERE f_username='$username'";                $db->query($sql);            }            else {                $errmsg = "用户名或密码不正确,登录失败!";            }               // 关闭数据库连接            $db->close();        }    }}?>
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
<style type="text/css">
body {text-align:center; font:12px/1.5 arial;}
h1 {color:#330066;margin-top:150px;}
input{background:#eeeeee; border:solid 1px #666666;height:20;font-size: 12px;;margin:5px;}
</style>
<script language="javascript"><!--function doCheck(){    if(document.frmLogin.username.value==""){        alert('请输入你的用户名!');        return false;    }    if(document.frmLogin.password.value==""){        alert('请输入你的密码!');        return false;    }}--></script>
 </HEAD> <BODY>
<h1>My Records </h1>
<hr width="1000">
<form name="frmLogin" method="post" action="my.php" onSubmit="return doCheck();">
<table>
账号:
<input type="text" name="username" size="16" maxlength = "16" id="username" >
<input type="submit" value="登陆" name="denglu"><br>
密码:
<input type="password" name="pwd" size="16" maxlength = "16" id="password">
<input type="submit" value="注册" name="zhuce"><br>
</table>
</form> </BODY>
</HTML>这是注册的页面<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {
$username   = $_POST['username'];$pwd        = $_POST['pwd'];$repeat_pwd = $_POST['repeat_pwd'];$name       = $_POST['name'];$email      = $_POST['email'];}if (!empty($username)) {        // 用户填写了数据才执行数据库操作    // 调用mysqli的构造函数建立连接,同时选择使用数据库'test'    $db = @new mysqli("127.0.0.1", "root", "123456", "test");    // 检查数据库连接    if (mysqli_connect_errno()) {        echo "数据库连接失败!<br>\n";        echo mysqli_connect_error();        exit;   // 退出程序,后面的所有语句将不再执行    }
 // 查询数据库,看填写的用户名是否已经存在    $sql = "SELECT * FROM t_user WHERE f_username='$username'";    $rs = $db->query($sql);    // $rs->num_rows判断上面的执行结果是否含有记录,有记录说明用户名已经存在    if ($rs && $rs->num_rows > 0) {        echo "<font color='red' size='5'>该用户名已被注册,请换一个重试!</font><br>\n";    }
else{ // 将用户信息插入数据库的t_user表 $sql = "INSERT INTO t_user (f_username, f_password, f_name, f_email) VALUES"; $sql .= "('$username', '$pwd', '$name', '$email')"; $rs = $db->query($sql); if (!$rs) { $db->close(); // 关闭数据库连接 echo '数据记录插入失败!'; exit; } echo "<font color='red' size='5'>恭喜您注册成功!</font><br>\n";
 // 将输出重定向到register_result.php文件  header("Location: register_result.php?uid=$username");
}
 // 关闭数据库连接 $db->close();}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Registering form</title>
<style type="text/css">
body {text-align:center; font:12px/1.5 arial;background:#eeeeee;}
h1 {color:#330066;margin-top:100px;}
input{ border:solid 1px #666666;height:20;font-size: 12px;;margin:5px;}
</style><script language='javascript'><!--// 验证表单数据有效性的函数// 当函数返回true时,说明验证成功,表单数据正常提交// 当函数返回false时,说明验证失败,表单数据被终止提交function doCheck(){    var username   = document.frmRegister.username.value;    var pwd         = document.frmRegister.pwd.value;    var repeat_pwd = document.frmRegister.repeat_pwd.value;    var name        = document.frmRegister.name.value;    var email       = document.frmRegister.email.value;       if (username == '') {        alert('请输入用户名!'); return false;    }    if (pwd == '') {        alert('请输入密码!'); return false;    }    if (name == '') {        alert('请输入姓名!'); return false;    }    if (email == '') {        alert('请输入Email!'); return false;    }    if (repeat_pwd != pwd) {        alert('重复密码与密码不一致!'); return false;    }    if (pwd.length < 6 || pwd.length > 30) {        alert('密码必须在6到30个字符之间!'); return false;    }       // 验证Email的格式,如果长度小于6或者不含'@'符号和'.'符则认为格式不正确    if (email.length <= 5            || email.indexOf('@') < 1 || email.indexOf('.') < 3) {        alert('Email填写不正确!'); return false;
    }       return true;}--></script></head>
<body><h1>My Records </h1>
<hr width="1000">
<form name="frmRegister" method="post" action="login.php" onsubmit= "return doCheck();">
<table width="330" border="0" align="center" cellpadding="5" bgcolor= "#eeeeee">
<tr>
<td width="40%">用户名:</td>
<td><input name="username" type="text" id="username"> </td>
</tr>
<tr>
<td>密码:</td>
<td><input name="pwd" type="password" id="pwd"></td>
</tr>
<tr>
<td>重复密码:</td>
<td><input name="repeat_pwd" type="password" id="repeat_pwd"></td>
</tr>
<tr>
<td>姓名:</td>
<td><input name="name" type="text" id="name"></td>
</tr>
<tr>
<td>Email:</td>
<td><input name="email" type="text" id="email"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="Submit" value="提交">
<input type="reset" name="reset" value="重置"></td>
</tr>
</table>
</form>
</body>
</html>

解决方案 »

  1.   

    建议楼主的注册按钮不要是submit,因为这样的话每次一点击就会提交一次表单,你的表单有js验证,所以每次会弹出提示框来,建议做成一个<a href="注册页面">注册</a>然后跳转的话有好几种方法
    echo "<script>window.location.href='http://www.9ba.cn';</script>";如果想页面停顿3秒以后跳转的话可以<script language='javascript' type='text/javascript'>
    var secs =3; //倒计时的秒数
    var URL ;
    function Load(url){
    URL =url;
    for(var i=secs;i>=0;i--){
    window.setTimeout('doUpdate(' + i + ')', (secs-i) * 1000);
    }
    }
    function doUpdate(num){
    document.getElementById('ShowDiv').innerHTML = '将在'+num+'秒后自动跳转到主页面' ;
    if(num == 0) { window.location=URL; }
    }
    </script>然后调用就可以了<script language="javascript">
    Load("index.php");
    </script>