/[LeafOK_CVS]/fenglin/bbs/user_reg.php
ViewVC logotype

Contents of /fenglin/bbs/user_reg.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.9 - (show annotations)
Thu Dec 4 01:54:59 2025 UTC (3 months, 1 week ago) by sysadm
Branch: MAIN
CVS Tags: HEAD
Changes since 1.8: +1 -1 lines
Fix issue of relative path

1 <?php
2 require_once "../lib/common.inc.php";
3 require_once "../lib/lml.inc.php";
4 require_once "./session_init.inc.php";
5 ?>
6 <html>
7 <head>
8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
9 <title>新用户注册</title>
10 <link rel="stylesheet" href="css/default.css" type="text/css">
11 <script src="../js/polyfill.min.js"></script>
12 <script src="../js/axios.min.js"></script>
13 <script type="text/javascript">
14 function vn_refresh(img)
15 {
16 img.src = img.src;
17 return false;
18 }
19
20 function refresh_err_msg(errorFieldMap)
21 {
22 document.getElementsByName("err_msg").forEach(element => {
23 element.innerHTML = (errorFieldMap.has(element.id) ? errorFieldMap.get(element.id) : "");
24 });
25 }
26
27 function reg_sub(f)
28 {
29 instance.post('user_service_reg.php', {
30 username: f.username.value,
31 nickname: f.nickname.value,
32 realname: f.realname.value,
33 gender: f.gender.value,
34 gender_public: (f.gender_public.checked ? "1" : "0"),
35 email: f.email.value,
36 year: f.year.value,
37 month: f.month.value,
38 day: f.day.value,
39 qq: f.qq.value,
40 agreement: (f.agreement.checked ? "1" : "0"),
41 vn_str: f.vn_str.value,
42 })
43 .then(function (response) {
44 var ret = response.data;
45 var errorFieldMap = new Map();
46 switch (ret.return.code)
47 {
48 case 0: // OK
49 errorFieldMap.set("err_msg_prompt", "注册成功,请查收邮件");
50 refresh_err_msg(errorFieldMap);
51 break;
52 case -1: // Input validation failed
53 ret.return.errorFields.forEach(field => {
54 errorFieldMap.set("err_msg_" + field.id, field.errMsg + "<br />");
55 });
56 refresh_err_msg(errorFieldMap);
57 break;
58 case -2: // Internal error
59 console.log(ret.return.message);
60 errorFieldMap.set("err_msg_prompt", "内部错误");
61 refresh_err_msg(errorFieldMap);
62 break;
63 default:
64 console.log(ret.return.code);
65 break;
66 }
67 })
68 .catch(function (error) {
69 console.log(error);
70 });
71
72 return false;
73 }
74
75 const instance = axios.create({
76 withCredentials: true,
77 timeout: 3000,
78 baseURL: document.location.protocol + '//' + document.location.hostname + (document.location.port=='' ? '' : (':' + document.location.port)) + '/bbs/',
79 });
80
81 window.addEventListener("load", () => {
82 var f = document.getElementById("reg_form");
83 f.addEventListener("submit", (e) => {
84 e.preventDefault();
85 reg_sub(f);
86 });
87 });
88
89 </script>
90 </head>
91 <body>
92 <center>
93 <form method="post" id="reg_form" name="reg_form" action="#">
94 <p style="font-weight: bold; font-size: 16px; color: red; font-family: 楷体">新用户注册</p>
95 <p><span id="err_msg_prompt" name="err_msg" style="color: red"></span></p>
96 <table border="1" cellpadding="10" cellspacing="0" width="1050" bgcolor="#ffdead">
97 <tr>
98 <td width="25%" align="right">
99 用户名
100 </td>
101 <td width="75%">
102 <span id="err_msg_username" name="err_msg" style="color: red;"></span><input id="username" name="username" value="">
103 <font color="red">*</font>
104 5-12位英文子母、数字、下划线的组合,必须以字母开头,不可更改
105 </td>
106 </tr>
107 <tr>
108 <td align="right">
109 昵称
110 </td>
111 <td>
112 <span id="err_msg_nickname" name="err_msg" style="color: red;"></span><input id="nickname" name="nickname" value="">
113 <span style="color: red">*</span>
114 长度不超过10个全角字符,不能包含空格
115 </td>
116 </tr>
117 <tr>
118 <td align="right">
119 姓名
120 </td>
121 <td>
122 <span id="err_msg_realname" name="err_msg" style="color: red;"></span><input id="realname" name="realname" value="">
123 <span style="color: red">*</span>
124 长度不超过5个全角字符
125 </td>
126 </tr>
127 <tr>
128 <td align="right">
129 性别
130 </td>
131 <td>
132 <span id="err_msg_gender" name="err_msg" style="color: red;"></span><input type="radio" id="gender_male" name="gender" value="M">男
133 <input type="radio" id="gender_female" name="gender" value="F">女
134 <span style="color: red">*</span>
135 <input type="checkbox" id="gender_public" name="gender_public" value="1" checked>公开
136 </td>
137 </tr>
138 <tr>
139 <td align="right">
140 邮件地址
141 </td>
142 <td>
143 <span id="err_msg_email" name="err_msg" style="color: red;"></span><input id="email" name="email" value="">
144 <span style="color: red">*</span>
145 请务必准确填写,否则无法激活账户<br>
146 </td>
147 </tr>
148 <tr>
149 <td align="right">
150 出生日期
151 </td>
152 <td>
153 <span id="err_msg_birthday" name="err_msg" style="color: red;"></span>
154 <select id="year" name="year" size="1">
155 <?php
156 $year_current = intval(date("Y", time()));
157 $year_max = $year_current - 16; // Accept registrant of 16+ only
158 $year_min = $year_current - 80;
159 $year_selected = $year_current - 25;
160 for ($year = $year_min; $year <= $year_max; $year++)
161 {
162 $option_year_selected = ($year == $year_selected ? "selected" : "");
163
164 echo <<<HTML
165 <option value="{$year}" {$option_year_selected}>{$year}</option>
166 HTML;
167 }
168 ?>
169
170 </select>年
171 <select id="month" name="month" size="1">
172 <?php
173 $month_selected = 1;
174 for ($month = 1; $month <= 12; $month++)
175 {
176 $option_month_selected = ($month == $month_selected ? "selected" : "");
177
178 echo <<<HTML
179 <option value="{$month}" {$option_month_selected}>{$month}</option>
180 HTML;
181 }
182 ?>
183 </select>月
184 <select id="day" name="day" size="1">
185 <?php
186 $day_selected = 1;
187 for ($day = 1; $day <= 31; $day++)
188 {
189 $option_day_selected = ($day == $day_selected ? "selected" : "");
190
191 echo <<<HTML
192 <option value="{$day}" {$option_day_selected}>{$day}</option>
193 HTML;
194 }
195 ?>
196 </select>日
197 <span style="color: red">*</span>
198 </td>
199 </tr>
200 <tr>
201 <td align="right">
202 QQ号码
203 </td>
204 <td>
205 <span id="err_msg_qq" name="err_msg" style="color: red;"></span><input id="qq" name="qq" size="20" value="">
206 </td>
207 </tr>
208 <tr>
209 <td colspan="2" align="center">
210 <span id="err_msg_agreement" name="err_msg" style="color: red;"></span>
211 <?php
212 $buffer = file_get_contents("../bbs/doc/eula.txt");
213 $license_f = LML($buffer, 1024, false);
214
215 echo <<<HTML
216 <textarea rows="15" cols="130">{$license_f}</textarea>
217 HTML;
218 ?>
219 <p>
220 <input type="checkbox" id="agreement" name="agreement" value="1">
221 我已仔细阅读并完全同意以上《用户许可协议》
222 </p>
223 </td>
224 </tr>
225 <tr>
226 <td align="right">
227 验证码
228 </td>
229 <td>
230 <span id="err_msg_vn_str" name="err_msg" style="color: red;"></span><input size=4 name="vn_str" value="">
231 <img id="vn_img" src="vn_display.php" onclick="vn_refresh(this);">
232 <span style="color: red">*</span>
233 按图片内容填写,单击图片刷新
234 </td>
235 </tr>
236 </table>
237 <p>
238 <input type="submit" value="提交">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" value="重填">
239 </p>
240 </form>
241 </center>
242 <?php
243 include "./foot.inc.php";
244 ?>
245 </body>
246 </html>

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1