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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (show annotations)
Mon Apr 14 11:23:46 2025 UTC (11 months ago) by sysadm
Branch: MAIN
Changes since 1.5: +3 -3 lines
Update page layout

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

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