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

Annotation of /fenglin/bbs/reg_user.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (hide annotations)
Thu Apr 3 04:09:13 2025 UTC (11 months, 2 weeks ago) by sysadm
Branch: MAIN
Changes since 1.3: +4 -4 lines
Refine

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

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