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

Diff of /fenglin/bbs/reg_user.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.1 by sysadm, Mon Mar 31 14:11:49 2025 UTC Revision 1.9 by sysadm, Wed Apr 23 06:05:53 2025 UTC
# Line 1  Line 1 
1  <?  <?php
2          require_once "../lib/common.inc.php";          require_once "../lib/common.inc.php";
3          require_once "../lib/lml.inc.php";          require_once "../lib/lml.inc.php";
4          require_once "./session_init.inc.php";          require_once "./session_init.inc.php";
5  ?>  ?>
6  <html>  <html>
7  <head>  <head>
8          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
9          <title>新用户注册</title>  <title>新用户注册</title>
10          <link rel="stylesheet" href="css/default.css" type="text/css">  <link rel="stylesheet" href="css/default.css" type="text/css">
 </head>  
11  <script src="../js/polyfill.min.js"></script>  <script src="../js/polyfill.min.js"></script>
12  <script src="../js/axios.min.js"></script>  <script src="../js/axios.min.js"></script>
13  <script type="text/javascript">  <script type="text/javascript">
# Line 18  function vn_refresh(img) Line 17  function vn_refresh(img)
17          return false;          return false;
18  }  }
19    
20  function reset_flag()  function refresh_err_msg(errorFieldMap)
21  {  {
22          var s = document.getElementsByName("err_msg");          document.getElementsByName("err_msg").forEach(element => {
23                    element.innerHTML = (errorFieldMap.has(element.id) ? errorFieldMap.get(element.id) : "");
         s.forEach(element => {  
                 element.innerHTML = "";  
24          });          });
25  }  }
26    
27  function regsub(f)  function reg_sub(f)
28  {  {
29          reset_flag();          instance.post('user_service_reg.php', {
         instance.post('reg_user_service.php', {  
30          username: f.username.value,          username: f.username.value,
31                  nickname: f.nickname.value,                  nickname: f.nickname.value,
32                  realname: f.realname.value,                  realname: f.realname.value,
# Line 46  function regsub(f) Line 42  function regsub(f)
42      })      })
43      .then(function (response) {      .then(function (response) {
44          var ret = response.data;          var ret = response.data;
45                    var errorFieldMap = new Map();
46          switch (ret.return.code)          switch (ret.return.code)
47          {          {
48                          case 0: // OK                          case 0: // OK
49                                  window.alert("注册成功,请查收邮件");                                  errorFieldMap.set("err_msg_prompt", "注册成功,请查收邮件");
50                                  document.location = "index.php";                                  refresh_err_msg(errorFieldMap);
51                                  break;                                  break;
52                          case -1: // Input validation failed                          case -1: // Input validation failed
53                                  ret.return.errorFields.forEach(field => {                                  ret.return.errorFields.forEach(field => {
54                                          document.getElementById("err_msg_" + field.id).innerHTML = field.errMsg + "<br />";                                          errorFieldMap.set("err_msg_" + field.id, field.errMsg + "<br />");
55                                  });                                  });
56                                    refresh_err_msg(errorFieldMap);
57                                  break;                                  break;
58                          case -2: // Internal error                          case -2: // Internal error
59                                  console.log(ret.return.message);                                  console.log(ret.return.message);
60                                  document.getElementById("err_msg_username").innerHTML = "内部错误<br />";                                  errorFieldMap.set("err_msg_prompt", "内部错误");
61                                    refresh_err_msg(errorFieldMap);
62                                  break;                                  break;
63                          default:                          default:
64                                  console.log(ret.return.code);                                  console.log(ret.return.code);
# Line 79  const instance = axios.create({ Line 78  const instance = axios.create({
78      baseURL: document.location.protocol + '//' + document.location.hostname + (document.location.port=='' ? '' : (':' + document.location.port)) + '/bbs/',      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>  </script>
90    </head>
91  <body>  <body>
92          <center>          <center>
93                  <form method="post" id="regform" name="regform" action="javascript: regsub(regform);">                  <form method="post" id="reg_form" name="reg_form" action="#">
94                          <p style="font-weight: bold; font-size: 16px; color: red; font-family: 楷体">新用户注册</p>                          <p style="font-weight: bold; font-size: 16px; color: red; font-family: 楷体">新用户注册</p>
95                          <table border="1" cellpadding="10" cellspacing="0" width="700" bgcolor="#ffdead">                          <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>                                  <tr>
98                                          <td width="26%" align="right">                                          <td width="25%" align="right">
99                                                  用户名                                                  用户名
100                                          </td>                                          </td>
101                                          <td width="74%">                                          <td width="75%">
102                                                  <span id="err_msg_username" name="err_msg" style="color: red;"></span><input id="username" name="username" value="">                                                  <span id="err_msg_username" name="err_msg" style="color: red;"></span><input id="username" name="username" value="">
103                                                  <font color="red">*</font>                                                  <font color="red">*</font>
104                                                  5-12位英文子母、数字的组合,必须以字母开头,不可更改                                                  5-12位英文子母、数字的组合,必须以字母开头,不可更改
# Line 133  const instance = axios.create({ Line 142  const instance = axios.create({
142                                          <td>                                          <td>
143                                                  <span id="err_msg_email" name="err_msg" style="color: red;"></span><input id="email" name="email" value="">                                                  <span id="err_msg_email" name="err_msg" style="color: red;"></span><input id="email" name="email" value="">
144                                                  <span style="color: red">*</span>                                                  <span style="color: red">*</span>
145                                                  请务必准确填写,否则无法激活账号<br>                                                  请务必准确填写,否则无法激活账户<br>
146                                          </td>                                          </td>
147                                  </tr>                                  </tr>
148                                  <tr>                                  <tr>
# Line 142  const instance = axios.create({ Line 151  const instance = axios.create({
151                                          </td>                                          </td>
152                                          <td>                                          <td>
153                                                  <span id="err_msg_birthday" name="err_msg" style="color: red;"></span><select id="year" name="year" size="1">                                                  <span id="err_msg_birthday" name="err_msg" style="color: red;"></span><select id="year" name="year" size="1">
154  <?  <?php
155          $year_current = intval(date("Y", time()));          $year_current = intval(date("Y", time()));
156          $year_max = $year_current - 16; // Accept registrant of 16+ only          $year_max = $year_current - 16; // Accept registrant of 16+ only
157          $year_min = $year_current - 80;          $year_min = $year_current - 80;
# Line 150  const instance = axios.create({ Line 159  const instance = axios.create({
159          for ($year = $year_min; $year <= $year_max; $year++)          for ($year = $year_min; $year <= $year_max; $year++)
160          {          {
161  ?>  ?>
162                                                          <option value="<? echo $year; ?>" <? echo ($year == $year_selected ? "selected" : ""); ?>><? echo $year; ?></option>                                                          <option value="<?= $year; ?>" <?= ($year == $year_selected ? "selected" : ""); ?>><?= $year; ?></option>
163  <?  <?php
164          }          }
165  ?>  ?>
166    
167                                                  </select>年                                                  </select>年
168                                                  <select id="month" name="month" size="1">                                                  <select id="month" name="month" size="1">
169  <?  <?php
170          $month_selected = 1;          $month_selected = 1;
171          for ($month = 1; $month <= 12; $month++)          for ($month = 1; $month <= 12; $month++)
172          {          {
173  ?>  ?>
174                                                          <option value="<? echo $month; ?>" <? echo ($month == $month_selected ? "selected" : ""); ?>><? echo $month; ?></option>                                                          <option value="<?= $month; ?>" <?= ($month == $month_selected ? "selected" : ""); ?>><?= $month; ?></option>
175  <?  <?php
176          }          }
177  ?>  ?>
178                                                  </select>月                                                  </select>月
179                                                  <select id="day" name="day" size="1">                                                  <select id="day" name="day" size="1">
180  <?  <?php
181          $day_selected = 1;          $day_selected = 1;
182          for ($day = 1; $day <= 31; $day++)          for ($day = 1; $day <= 31; $day++)
183          {          {
184  ?>  ?>
185                                                          <option value="<? echo $day; ?>" <? echo ($day == $day_selected ? "selected" : ""); ?>><? echo $day; ?></option>                                                          <option value="<?= $day; ?>" <?= ($day == $day_selected ? "selected" : ""); ?>><?= $day; ?></option>
186  <?  <?php
187          }          }
188  ?>  ?>
189                                                  </select>日                                                  </select>日
# Line 191  const instance = axios.create({ Line 200  const instance = axios.create({
200                                  </tr>                                  </tr>
201                                  <tr>                                  <tr>
202                                          <td colspan="2" align="center">                                          <td colspan="2" align="center">
203                                          <span id="err_msg_agreement" name="err_msg" style="color: red;"></span><textarea rows="15" cols="80"><?                                          <span id="err_msg_agreement" name="err_msg" style="color: red;"></span><textarea rows="15" cols="130"><?php
204          $buffer = file_get_contents("./doc/license/" . (new DateTime($BBS_license_dt))->format("Ymd") . ".txt");          $buffer = file_get_contents("./doc/license/" . (new DateTime($BBS_license_dt))->format("Ymd") . ".txt");
205          echo (LML(htmlspecialchars($buffer, ENT_HTML401, 'UTF-8'), false, false, 1024));          echo (LML(htmlspecialchars($buffer, ENT_HTML401, 'UTF-8'), false, false, 1024));
206                                                  ?></textarea>                                                  ?></textarea>
# Line 207  const instance = axios.create({ Line 216  const instance = axios.create({
216                                          </td>                                          </td>
217                                          <td>                                          <td>
218                                                  <span id="err_msg_vn_str" name="err_msg" style="color: red;"></span><input size=4 name="vn_str" value="">                                                  <span id="err_msg_vn_str" name="err_msg" style="color: red;"></span><input size=4 name="vn_str" value="">
219                                                  <img id="vn_img" src="reg_vn_display.php" onclick="vn_refresh(this);">                                                  <img id="vn_img" src="vn_display.php" onclick="vn_refresh(this);">
220                                                  <span style="color: red">*</span>                                                  <span style="color: red">*</span>
221                                                  按图片内容填写,单击图片刷新                                                  按图片内容填写,单击图片刷新
222                                          </td>                                          </td>
# Line 218  const instance = axios.create({ Line 227  const instance = axios.create({
227                          </p>                          </p>
228                  </form>                  </form>
229          </center>          </center>
230  <?  <?php
231          include "./foot.inc.php";          include "./foot.inc.php";
232  ?>  ?>
233  </body>  </body>


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

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