forked from leozhang2018/bs_online
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsignup.php
More file actions
126 lines (103 loc) · 3.49 KB
/
signup.php
File metadata and controls
126 lines (103 loc) · 3.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<?php
// 变量赋空
$member_username = $member_password = $member_firstname = $member_lastname = $member_gender = $member_email = $member_id = "";
if(!isset($_POST['signup'])){
exit('Sign up Forbidden');
}
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if (empty($_POST["username"]))
{$nameErr = "Name is required";}
else
{$member_username = test_input($_POST['username']);
//用户名长度超过 15 禁止
if (strlen($member_username) >= 15)
{$nameErr = "Name Forbiden";
exit('Invaild Name Formate');}
}
if (empty($_POST["password"]))
{$passwordErr = "Password is required";}
else
{$member_password = test_input($_POST['password']);
// 密码长度超过 15 禁止
if (strlen($member_password) > 15)
{$passwordErr = "Password Forbiden";
exit('Invalid Password Formate');}
}
if (empty($_POST["firstname"]))
{$firstnameErr = "firstname is required";}
else
{$member_firstname = test_input($_POST['firstname']);
// 长度超过 6 禁止
if (strlen($member_firstname) > 6)
{$firstnameErr = "First Forbiden";
exit('Invalid Firstname Formate');}
}
if (empty($_POST["lastname"]))
{$firstnameErr = "lastname is required";}
else
{$member_lastname = test_input($_POST['lastname']);
// 长度超过 9 禁止
if (strlen($member_lastname) > 9)
{$lastnameErr = "Lastname Forbiden";
exit('Invalid Lastname Formate');}
}
if (empty($_POST["gender"]))
{$genderErr = "gender is required";}
else
{$member_gender = test_input($_POST['gender']);
// 仅限男女
if ( strlen($member_gender) != 3)
{$genderErr = "Gender Forbiden";
exit('Invalid Gender Formate');}
}
if (empty($_POST["email"]))
{$emailErr = "email is required";}
else
{$member_email = test_input($_POST['email']);
$email = test_input($_POST["email"]);
// 正则验证 Email
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
{
$emailErr = "Invalid email format";}
}
if (empty($_POST["id_number"]))
{$id_numberErr = "id_number is required";}
else
{$member_id = test_input($_POST['id_number']);
// 学号长度不为 8 禁止
if (strlen($member_id) != 8)
{$ID_Err = "Invalid ID format";
exit('Invalid ID format');}
}
}
// 使用 PHP trim() 函数去除用户输入数据中不必要的字符 (如:空格,tab,换行)
// 使用 PHP stripslashes()函数去除用户输入数据中的反斜杠 (\)
function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
//包含数据库文件
include('dbcon.php');
//检测用户名是否已经存在
$check_query = mysql_query("SELECT username FROM member WHERE username='$member_username' limit 1");
if(mysql_fetch_array($check_query)){
echo '',$member_username,' 已存在。<a href="javascript:history.back(-1);">返回</a>';
exit;
}
// 插入数据库
mysql_query("insert into member(username,password,id_number,email,firstname,lastname,gender,status)
values('$member_username','$member_password','$member_id','$member_email','$member_firstname','$member_lastname','$member_gender','Active')")
or die(mysql_error());
?>
<form action='stulogin.php' method='post' name='signup_info'>
<input type='hidden' name='signup_info' value='注册成功,请登录'>
</form>
?>
<!-- 提交后跳转至登录 -->
<script language="JavaScript">
document.signup_info.submit();
</script>