/[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.4 - (show annotations)
Mon Apr 7 14:49:00 2025 UTC (11 months, 1 week ago) by sysadm
Branch: MAIN
Changes since 1.3: +2 -2 lines
Refine theme loader

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 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 });
81
82 </script>
83 </head>
84 <body>
85 <?
86 include get_theme_file("view/member_service_guide");
87 ?>
88 <center>
89 <p style="FONT-WEIGHT: bold; FONT-SIZE: 16px; COLOR: red; FONT-FAMILY: 楷体">更改用户资料</p>
90 <p><span id="err_msg_prompt" name="err_msg" style="color: red"></span></p>
91 <form method="post" id="profile_form" name="profile_form" action="#">
92 <table border="1" cellpadding="10" cellspacing="0" width="90%" bgcolor="#ffdead" id=TABLE1>
93 <tr>
94 <td width="26%" align="right">
95 密码
96 </td>
97 <td width="74%">
98 密码修改请<a href="reset_pass.php" target=_blank>点击此处</a>通过邮箱重置。
99 </td>
100 </tr>
101 <tr>
102 <td align="right">
103 昵称
104 </td>
105 <td>
106 <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'); ?>" readonly>
107 <input type="button" onclick="NW_open('ch_nick.php','ch_nick',250,200);" value="修改昵称">
108 </td>
109 </tr>
110 <tr>
111 <td align="right">
112 姓名
113 </td>
114 <td>
115 <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'); ?>">
116 <span style="color: red">*</span>
117 长度不超过5个全角字符
118 </td>
119 </tr>
120 <tr>
121 <td align="right">
122 性别
123 </td>
124 <td>
125 <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" : ""); ?>>男
126 <input type="radio" id="gender_female" name="gender" value="F" <? echo ($result_set["data"]["gender"] == "F" ? "checked" : ""); ?>>女
127 <span style="color: red">*</span>
128 <input type="checkbox" id="gender_public" name="gender_public" value="1" <? echo ($result_set["data"]["gender_pub"] ? "checked" : ""); ?>>公开
129 </td>
130 </tr>
131 <tr>
132 <td align="right">
133 邮件地址
134 </td>
135 <td>
136 <span id="err_msg_email" name="err_msg" style="color: red;"></span><input id="email" name="email" value="<? echo $result_set["data"]["email"]; ?>">
137 <span style="color: red">*</span>
138 修改邮箱后,请按照确认邮件提示操作<br>
139 </td>
140 </tr>
141 <tr>
142 <td align="right">
143 出生日期
144 </td>
145 <td>
146 <span id="err_msg_birthday" name="err_msg" style="color: red;"></span><select id="year" name="year" size="1">
147 <?
148 $birthday = (new DateTimeImmutable($result_set["data"]["birthday"]));
149
150 $year_current = intval(date("Y", time()));
151 $year_max = $year_current - 16; // Accept registrant of 16+ only
152 $year_min = $year_current - 80;
153 $year_selected = intval($birthday->format("Y"));
154 for ($year = $year_min; $year <= $year_max; $year++)
155 {
156 ?>
157 <option value="<? echo $year; ?>" <? echo ($year == $year_selected ? "selected" : ""); ?>><? echo $year; ?></option>
158 <?
159 }
160 ?>
161
162 </select>年
163 <select id="month" name="month" size="1">
164 <?
165 $month_selected = intval($birthday->format("m"));
166 for ($month = 1; $month <= 12; $month++)
167 {
168 ?>
169 <option value="<? echo $month; ?>" <? echo ($month == $month_selected ? "selected" : ""); ?>><? echo $month; ?></option>
170 <?
171 }
172 ?>
173 </select>月
174 <select id="day" name="day" size="1">
175 <?
176 $day_selected = intval($birthday->format("d"));
177 for ($day = 1; $day <= 31; $day++)
178 {
179 ?>
180 <option value="<? echo $day; ?>" <? echo ($day == $day_selected ? "selected" : ""); ?>><? echo $day; ?></option>
181 <?
182 }
183 ?>
184 </select>日
185 <span style="color: red">*</span>
186 </td>
187 </tr>
188 <tr>
189 <td align="right">
190 QQ号码
191 </td>
192 <td>
193 <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"]; ?>">
194 </td>
195 </tr>
196 </table>
197 <p>
198 <input type="submit" value="提交">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
199 <input type="reset" value="重填">
200 </p>
201 </form>
202 </center>
203 </body>
204 </html>

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