/[LeafOK_CVS]/fenglin/bbs/themes/default/update_profile.view.php
ViewVC logotype

Annotation of /fenglin/bbs/themes/default/update_profile.view.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.8 - (hide annotations)
Wed Apr 23 05:13:57 2025 UTC (10 months, 3 weeks ago) by sysadm
Branch: MAIN
Changes since 1.7: +22 -22 lines
Refine deprecated PHP short tags

1 sysadm 1.8 <?php
2 sysadm 1.1 // Prevent load standalone
3     if (!isset($result_set))
4     {
5     exit();
6     }
7     ?>
8     <html>
9     <head>
10     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
11     <title>更改用户资料</title>
12 sysadm 1.8 <link rel="stylesheet" href="<?= get_theme_file('css/default'); ?>" type="text/css">
13 sysadm 1.1 <script src="../js/polyfill.min.js"></script>
14     <script src="../js/axios.min.js"></script>
15     <script type="text/javascript">
16     function refresh_err_msg(errorFieldMap)
17     {
18     document.getElementsByName("err_msg").forEach(element => {
19     element.innerHTML = (errorFieldMap.has(element.id) ? errorFieldMap.get(element.id) : "");
20     });
21     }
22    
23     function update_profile(f)
24     {
25     instance.post('update_profile_service.php', {
26 sysadm 1.5 nickname: f.nickname.value,
27 sysadm 1.1 realname: f.realname.value,
28     gender: f.gender.value,
29     gender_public: (f.gender_public.checked ? "1" : "0"),
30     email: f.email.value,
31     year: f.year.value,
32     month: f.month.value,
33     day: f.day.value,
34     qq: f.qq.value,
35     })
36     .then(function (response) {
37     var ret = response.data;
38     var errorFieldMap = new Map();
39     switch (ret.return.code)
40     {
41     case 0: // OK
42     errorFieldMap.set("err_msg_prompt", "更新成功");
43     refresh_err_msg(errorFieldMap);
44     break;
45     case -1: // Input validation failed
46     ret.return.errorFields.forEach(field => {
47     errorFieldMap.set("err_msg_" + field.id, field.errMsg + "<br />");
48     });
49     refresh_err_msg(errorFieldMap);
50     break;
51     case -2: // Internal error
52     console.log(ret.return.message);
53     errorFieldMap.set("err_msg_prompt", "内部错误");
54     refresh_err_msg(errorFieldMap);
55     break;
56     default:
57     console.log(ret.return.code);
58     break;
59     }
60     })
61     .catch(function (error) {
62     console.log(error);
63     });
64    
65     return false;
66     }
67    
68     const instance = axios.create({
69     withCredentials: true,
70     timeout: 3000,
71     baseURL: document.location.protocol + '//' + document.location.hostname + (document.location.port=='' ? '' : (':' + document.location.port)) + '/bbs/',
72     });
73    
74     window.addEventListener("load", () => {
75     var f = document.getElementById("profile_form");
76     f.addEventListener("submit", (e) => {
77     e.preventDefault();
78     update_profile(f);
79     });
80 sysadm 1.5
81     var s = document.getElementById("select_nick");
82     s.addEventListener("change", (e) => {
83     n = document.getElementById("nickname");
84     n.value = s.options[s.selectedIndex].value;
85     });
86    
87 sysadm 1.1 });
88    
89     </script>
90     </head>
91     <body>
92 sysadm 1.8 <?php
93 sysadm 1.4 include get_theme_file("view/member_service_guide");
94 sysadm 1.1 ?>
95     <center>
96     <p style="FONT-WEIGHT: bold; FONT-SIZE: 16px; COLOR: red; FONT-FAMILY: 楷体">更改用户资料</p>
97     <p><span id="err_msg_prompt" name="err_msg" style="color: red"></span></p>
98     <form method="post" id="profile_form" name="profile_form" action="#">
99 sysadm 1.6 <table border="1" cellpadding="10" cellspacing="0" width="1050" bgcolor="#ffdead" id=TABLE1>
100 sysadm 1.1 <tr>
101 sysadm 1.6 <td width="25%" align="right">
102 sysadm 1.1 密码
103     </td>
104 sysadm 1.6 <td width="75%">
105 sysadm 1.1 密码修改请<a href="reset_pass.php" target=_blank>点击此处</a>通过邮箱重置。
106     </td>
107     </tr>
108     <tr>
109     <td align="right">
110     昵称
111     </td>
112     <td>
113 sysadm 1.8 <span id="err_msg_nickname" name="err_msg" style="color: red;"></span><input id="nickname" name="nickname" value="<?= htmlspecialchars($result_set["data"]["nickname"], ENT_HTML401, 'UTF-8'); ?>">
114 sysadm 1.5 <span style="color: red">*</span>
115     <select name="select_nick" id="select_nick">
116     <option value="">----曾用昵称免费----</option>
117 sysadm 1.8 <?php
118 sysadm 1.5 foreach ($result_set["data"]["nicknames"] as $nickname)
119     {
120     ?>
121 sysadm 1.8 <option value="<?= $nickname; ?>"><?= $nickname; ?></option>
122     <?php
123 sysadm 1.5 }
124     ?>
125     </select>
126     使用新昵称每次收取2个积分
127 sysadm 1.1 </td>
128     </tr>
129     <tr>
130     <td align="right">
131     姓名
132     </td>
133     <td>
134 sysadm 1.8 <span id="err_msg_realname" name="err_msg" style="color: red;"></span><input id="realname" name="realname" value="<?= htmlspecialchars($result_set["data"]["name"], ENT_HTML401, 'UTF-8'); ?>">
135 sysadm 1.1 <span style="color: red">*</span>
136     长度不超过5个全角字符
137     </td>
138     </tr>
139     <tr>
140     <td align="right">
141     性别
142     </td>
143     <td>
144 sysadm 1.8 <span id="err_msg_gender" name="err_msg" style="color: red;"></span><input type="radio" id="gender_male" name="gender" value="M" <?= ($result_set["data"]["gender"] == "M" ? "checked" : ""); ?>>男
145     <input type="radio" id="gender_female" name="gender" value="F" <?= ($result_set["data"]["gender"] == "F" ? "checked" : ""); ?>>女
146 sysadm 1.1 <span style="color: red">*</span>
147 sysadm 1.8 <input type="checkbox" id="gender_public" name="gender_public" value="1" <?= ($result_set["data"]["gender_pub"] ? "checked" : ""); ?>>公开
148 sysadm 1.1 </td>
149     </tr>
150     <tr>
151     <td align="right">
152     邮件地址
153     </td>
154     <td>
155 sysadm 1.8 <span id="err_msg_email" name="err_msg" style="color: red;"></span><input id="email" name="email" value="<?= $result_set["data"]["email"]; ?>">
156 sysadm 1.1 <span style="color: red">*</span>
157     修改邮箱后,请按照确认邮件提示操作<br>
158     </td>
159     </tr>
160     <tr>
161     <td align="right">
162     出生日期
163     </td>
164     <td>
165     <span id="err_msg_birthday" name="err_msg" style="color: red;"></span><select id="year" name="year" size="1">
166 sysadm 1.8 <?php
167 sysadm 1.1 $birthday = (new DateTimeImmutable($result_set["data"]["birthday"]));
168    
169     $year_current = intval(date("Y", time()));
170     $year_max = $year_current - 16; // Accept registrant of 16+ only
171     $year_min = $year_current - 80;
172     $year_selected = intval($birthday->format("Y"));
173     for ($year = $year_min; $year <= $year_max; $year++)
174     {
175     ?>
176 sysadm 1.8 <option value="<?= $year; ?>" <?= ($year == $year_selected ? "selected" : ""); ?>><?= $year; ?></option>
177     <?php
178 sysadm 1.1 }
179     ?>
180    
181     </select>年
182     <select id="month" name="month" size="1">
183 sysadm 1.8 <?php
184 sysadm 1.1 $month_selected = intval($birthday->format("m"));
185     for ($month = 1; $month <= 12; $month++)
186     {
187     ?>
188 sysadm 1.8 <option value="<?= $month; ?>" <?= ($month == $month_selected ? "selected" : ""); ?>><?= $month; ?></option>
189     <?php
190 sysadm 1.1 }
191     ?>
192     </select>月
193     <select id="day" name="day" size="1">
194 sysadm 1.8 <?php
195 sysadm 1.1 $day_selected = intval($birthday->format("d"));
196     for ($day = 1; $day <= 31; $day++)
197     {
198     ?>
199 sysadm 1.8 <option value="<?= $day; ?>" <?= ($day == $day_selected ? "selected" : ""); ?>><?= $day; ?></option>
200     <?php
201 sysadm 1.1 }
202     ?>
203     </select>日
204     <span style="color: red">*</span>
205     </td>
206     </tr>
207     <tr>
208     <td align="right">
209     QQ号码
210     </td>
211     <td>
212 sysadm 1.8 <span id="err_msg_qq" name="err_msg" style="color: red;"></span><input id="qq" name="qq" size="20" value="<?= $result_set["data"]["qq"]; ?>">
213 sysadm 1.1 </td>
214     </tr>
215     </table>
216     <p>
217     <input type="submit" value="提交">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
218     <input type="reset" value="重填">
219     </p>
220     </form>
221     </center>
222     </body>
223     </html>

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