当前位置: 代码迷 >> PHP >> 有关php注册页面的,没运行检查用户输入是否符合要求这一步,求大神指出哪里出错了?该怎么处理
  详细解决方案

有关php注册页面的,没运行检查用户输入是否符合要求这一步,求大神指出哪里出错了?该怎么处理

热度:23   发布时间:2012-04-25 19:32:32.0
有关php注册页面的,没运行检查用户输入是否符合要求这一步,求大神指出哪里出错了?
PHP code
<?php
//新用户注册函数
function register(){
//两个变量的定义
$str1="<p>使用者须知:</p>
        <p>请仔细阅读以下条款:</p>
        <p>----------------</p>
        <p>----协议内容----</p>
        <p>----------------</p>
        <p><a href='register.php?message=agree'>同意</a>&nbsp;&nbsp;&nbsp;&nbsp;
        <a href='loginscreen.php'>不同意</a></p>";
$str2="<form method='post' action='register.php'>
    <table width='95%' border='1' cellspacing='0' cellpadding='0' bordercolorlight='#00FFFF' bordercolordark='#0000CC'>    
    <tr bgcolor='#99ccff'>
        <td><font size='2'>请填写如下信息,这是必须填写的.</font></td>
    </tr>
    <tr bgcolor='#99ccff'>
        <td><font size='2'>用户名只能由二十个英文字母(区分大小写)和数字以及下划线组成,最长二十个字符.</font></td>
    </tr>
    <tr>
        <td><font size='2'>请输入你的用户名:
            <input type='text' name='usename' size='12' maxlength='20'>
            </font></td>
    </tr>    
    <tr>
        <td><font size='2'>请输入你的密码(最大长度为10):
            <input type='password' name='passwd' size='12' maxlength='10'>
            </font></td>
    </tr>
    <tr>
        <td><font size='2'>请重复输入你的密码:
            <input type='password' name='repasswd' size='12' maxlength='10'>
            </font></td>
    
    
    <tr bgcolor='#99ccff'>
        <td><font size='2'>密码提示问题是用于当你忘掉密码的时的提示,你应该牢记密码提示信息!
    
            </font></td>
    </tr>
    <tr bgcolor='#99ccff'>
        <td><font size='2'>密码提示问题:
            <input type='text' name='passdp' size='30' maxleng>
            </font></td>
    </tr>
    <tr bgcolor='#99ccff'>
        <td><font size='2'>当你输入正确的密码提示问题时,将会给出该答案,帮助你找回忘记的密码.
            </font></td>
    </tr>
    <tr bgcolor='#99ccff'>
        <td><font size='2'>密码提示答案:
            <input type='text' name='passda' size='30'>
            </font></td>
    </tr>
    <tr bgcolor='#99ccff'>
        <td><font size='2'>请输入你的Email:
            <input type='text' name='email' size='30'>
            </font></td>
    </tr>
    <tr bgcolor='#99ccff'>
        <td><font size='2'>请输入您的电话号码:
            <input type='text' name='tel' size='12'>
            </font></td>
    </tr>
    <tr bgcolor='#99ccff'>
        <td><font size='2'>请输入您的详细住址:
            <input type='text' name='addr' size='30'>
            </font></td>
    </tr>
    <tr>
    <td>
        <input type='hidden' name='message' value='reg'>
    </td>
    </tr>
    <tr>
    <td> <p>
        <input type='submit' name='submit' value='提交'>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <input type='reset' name='submit2' value='清空'>
        </p>
    </td>    
    </tr>
    </form>";
    
    //根据message的值决定下一步如何处理
    $msg=$_GET["message"];
    if(!isset($msg)) $msg=$_POST["message"];
    if($msg=='new'){
        echo $str1;
        exit();
    }elseif($msg=='agree'){
        echo $str2;
        exit();
    
    }elseif($msg=='reg'){
        //检查用户的输入是否符合要求
        $username=$_POST["username"];
        $password=$_POST["passwd"];
        $repasswd=$_POST["repasswd"];
        $passwda=$_POST["passwdpa"];
        $passwdq=$_POST["passwdq"];
        if($username==""||$password=""||$repasswd=""||$passwdq=""||$passwda=""){
        
            echo "必填项不能为空!";
        }
        if($password!=$repasswd){
            echo "前后填的密码不一致!";
        
        }
        //检查数据库中是否有同名的用户存在
        $conn=@mysql_connect("localhost","root","") or die("failed to connect to database");
        mysql_select_db("project",$conn);
        $sql="SELECT username FROM member WHERE usename='$username'";
        $result=mysql_query($sql);
        if(mysql_fetch_object($result)){
            mysql_close($conn);
            echo "用户名已经存在!";
        
        }
        
        //用户数据插入数据库
        $sql='INSERT INTO member (username,password,userpassq,userpassa,email,telephone,address)
              VALUES ('.$_POST['username'].','.$_POST['passwd'].','.$_POST['passdp'].','.$_POST['passda'].','.$_POST['email'].','.$_POST['tel'].','.$_POST['addr'].')';
        if(mysql_query($sql)){
            $sql2="SELECT id FROM Member WHERE username='$username'";
            $result=mysql_query($sql2);
            $res=mysql_fetch_object($result);
            $id=$res->id;
            session_register($memberid);
            $reuturnpage="Location:loginscreen.php?username='$username'";
            mysql_close($conn);
            header($returnpage);
            
        }else{
        
            mysql_close($conn);
            header("Location:register.php?message=".urlencode("注册失败!请重试"));
            exit;
            }
        
        }else{
            $msg=$_GET["message"];
            echo $msg;
            exit();
        
        }
        
        
        
        
    }
    
//页面部分
?>
<html>
    <head><title>用户注册页面</title></head>
<body>
<?php
    register();
    
?>
</body>
</html>

 
  相关解决方案