<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>慕课网注册页面</title>
</head>
<body>
    <h1>慕课网注册页面</h1>
    <form action="doAction.php" method="post">
        <table border="1" cellpadding="0" cellspacing="0" width="80%" bgcolor="#ABCDEF">
            <tr>
                <td>用户名</td>
                <td>
                    <input type="text" name="username" id="" placeholder="请输入合法用户名...">
                    用户名首字母以字母开始,并且长度6-10位之间
                </td>
            </tr>
            <tr>
                <td>密码</td>
                <td>
                    <input type="password" name="password" id="" placeholder="请输入密码...">
                    密码不能为空,密码长度6~10
                </td>
            </tr>
            <tr>
                <td>确认密码</td>
                <td>
                    <input type="password" name="password1" id="" placeholder="请再次输入密码...">
                    两次密码一致
                </td>
            </tr>
            <tr>
                <td>邮箱</td>
                <td>
                    <input type="email" name="email" id="" placeholder="请输入合法邮箱">
                    邮箱必须包含@
                </td>
            </tr>
            <tr>
                <td>兴趣爱好</td>
                <td>
                    <input type="checkbox" name="fav[]" id="" value="php">php
                    <input type="checkbox" name="fav[]" id="" value="java">java
                    <input type="checkbox" name="fav[]" id="" value="ios">ios
                    <input type="checkbox" name="fav[]" id="" value="c">c</br>
                    <input type="checkbox" name="fav[]" id="" value="python">python
                    <input type="checkbox" name="fav[]" id="" value="meteor">meteor
                    <input type="checkbox" name="fav[]" id="" value="css">css
                </td>
            </tr>
            <tr>
                <td align="right">验证码</td>
                <td>
                    <input type="text" name="verify"><?php
                    $str='qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789';
                    //echo $str{mt_rand(0,strlen($str)-1)};
                    $code='';
                    for ($i=1;$i<=4;$i++){
                        $code='<span style="color: rgb('.mt_rand(0,255).','.mt_rand(0,255).','.mt_rand(0,255).')">'.$str{mt_rand(0,strlen($str)-1)}.'</span>';
                        echo $code;
                    }
                    ?>
                    <input type="hidden" name="verify1" value="<?php echo strip_tags($code); ?>">
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <input type="submit" value="立即注册">
                </td>
            </tr>
        </table>
    </form>
</body>
</html>
<?php
header("content-type:text/html;charset=utf-8");
//接收数据
$redirectUrl='<a href="exe.php">重新注册</a>';
$username=$_POST['username'];
$password=$_POST['password'];
$password1=$_POST['password1'];
$email=$_POST['email'];
//$fav=$_POST['fav'];
$verify=trim(strtolower($_POST['verify']));
$verify1=trim(strtolower($_POST['verify1']));
//检测用户名的合法性
//检测用户名首字母是否为字母
//$char=$username{0};//得到第一个字母
$char=substr($username,0,1);//得到第一个字母
//echo $char;
$ascii=ord($char);//得到指定字符的ASCII
//检测ASCII是否在65-90(A-Z)或者97-122(a-z)
if (!($ascii>=65&&$ascii<=90||$ascii>=97&&$ascii<=122)){
    exit('用户名首字母不是以字母开始</br>'.$redirectUrl); //exit() 输出一个消息并且退出当前脚本
}
//检测用户名长度是否符合要求
$userlen=strlen($username);
if($userlen<=6||$userlen>=10){
    exit('用户名长度不符合要求'.$redirectUrl);
}
//检测密码是否为空
$psdlen=strlen($password);
if ($psdlen==0){
    exit('密码不能为空'.$redirectUrl);
}
//检测密码长度是否符合规范
if($psdlen<=6||$psdlen>=10){
    die('密码长度不符合要求'.$redirectUrl); //die() 等同于 exit()
}

//检测两次密码是否一致
/*if ($password===$password1){
    exit('两次密码不一致'.$redirectUrl);
}*/
//检测两次密码是否一致
if (strcmp($password,$password1)!==0){
    exit('两次密码不一致'.$redirectUrl);
}

//检测邮箱的合法性,字符串中包含@
if (strpos($email,'@')==false){
    exit('邮箱不合法'.$redirectUrl);
}

//检测验证码是否符合规范
if ($verify!==$verify1){
    exit('验证码错误'.$redirectUrl);
}