有关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>
<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='提交'>
<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>