/[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.6 - (hide 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 sysadm 1.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 sysadm 1.4 <link rel="stylesheet" href="<? echo get_theme_file('css/default'); ?>" type="text/css">
13 sysadm 1.1 <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 sysadm 1.5 nickname: f.nickname.value,
28 sysadm 1.1 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 sysadm 1.5
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 sysadm 1.1 });
89    
90     </script>
91     </head>
92     <body>
93     <?
94 sysadm 1.4 include get_theme_file("view/member_service_guide");
95 sysadm 1.1 ?>
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 sysadm 1.6 <table border="1" cellpadding="10" cellspacing="0" width="1050" bgcolor="#ffdead" id=TABLE1>
101 sysadm 1.1 <tr>
102 sysadm 1.6 <td width="25%" align="right">
103 sysadm 1.1 密码
104     </td>
105 sysadm 1.6 <td width="75%">
106 sysadm 1.1 密码修改请<a href="reset_pass.php" target=_blank>点击此处</a>通过邮箱重置。
107     </td>
108     </tr>
109     <tr>
110     <td align="right">
111     昵称
112     </td>
113     <td>
114 sysadm 1.5 <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 sysadm 1.1 </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