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

Diff of /fenglin/bbs/update_profile.php

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

Revision 1.3 by sysadm, Tue Apr 1 12:18:40 2025 UTC Revision 1.10 by sysadm, Sun Apr 27 04:32:05 2025 UTC
# Line 1  Line 1 
1  <?  <?php
2          require_once "../lib/db_open.inc.php";          require_once "../lib/db_open.inc.php";
3          require_once "./session_init.inc.php";          require_once "./session_init.inc.php";
4            require_once "./theme.inc.php";
5    
6          force_login();          force_login();
7  ?>  
8  <?          $result_set = array(
9                    "return" => array(
10                            "code" => 0,
11                            "message" => "",
12                            "errorFields" => array(),
13                    )
14            );
15    
16          $sql = "SELECT nickname, name, email, gender, gender_pub, birthday, qq          $sql = "SELECT nickname, name, email, gender, gender_pub, birthday, qq
17                          FROM user_reginfo INNER JOIN user_pubinfo ON user_reginfo.UID = user_pubinfo.UID                          FROM user_reginfo INNER JOIN user_pubinfo ON user_reginfo.UID = user_pubinfo.UID
18                          WHERE user_reginfo.UID = ". $_SESSION["BBS_uid"];                          WHERE user_reginfo.UID = ". $_SESSION["BBS_uid"];
# Line 12  Line 20 
20          $rs = mysqli_query($db_conn, $sql);          $rs = mysqli_query($db_conn, $sql);
21          if ($rs == false)          if ($rs == false)
22          {          {
23                  echo "Query user info error: " . mysqli_error($db_conn);;                  $result_set["return"]["code"] = -2;
24                  exit();                  $result_set["return"]["message"] = "Query user info error: " . mysqli_error($db_conn);
25    
26                    mysqli_close($db_conn);
27                    exit(json_encode($result_set));
28          }          }
29    
30          if(!($row = mysql_fetch_array($rs)))          if($row = mysqli_fetch_array($rs))
31          {          {
32                  echo ("个人资料不存在!");                  $result_set["data"] = array(
33                  exit();                          "nickname" => $row["nickname"],
34          }                          "nicknames" => array(),
35  ?>                          "name" => $row["name"],
36  <html>                          "gender" => $row["gender"],
37  <head>                          "gender_pub" => $row["gender_pub"],
38  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">                          "email" => $row["email"],
39  <title>更改用户资料</title>                          "birthday" => $row["birthday"],
40  <link rel="stylesheet" href="css/default.css" type="text/css">                          "qq" => $row["qq"],
41  <script language="JavaScript" src="/js/nw_open.js"></script>                  );
42  <script src="../js/polyfill.min.js"></script>          }
43  <script src="../js/axios.min.js"></script>          else
 <script type="text/javascript">  
 function reset_flag()  
 {  
         var s = document.getElementsByName("err_msg");  
   
         s.forEach(element => {  
                 element.innerHTML = "";  
         });  
 }  
   
 function update_profile(f)  
 {  
         reset_flag();  
         instance.post('update_profile_service.php', {  
                 realname: f.realname.value,  
                 gender: f.gender.value,  
                 gender_public: (f.gender_public.checked ? "1" : "0"),  
                 email: f.email.value,  
                 year: f.year.value,  
                 month: f.month.value,  
                 day: f.day.value,  
                 qq: f.qq.value,  
     })  
     .then(function (response) {  
         var ret = response.data;  
         switch (ret.return.code)  
         {  
                         case 0: // OK  
                                 window.alert("更新成功");  
                                 break;  
                         case -1: // Input validation failed  
                                 ret.return.errorFields.forEach(field => {  
                                         document.getElementById("err_msg_" + field.id).innerHTML = field.errMsg + "<br />";  
                                 });  
                                 break;  
                         case -2: // Internal error  
                                 console.log(ret.return.message);  
                                 document.getElementById("err_msg_username").innerHTML = "内部错误<br />";  
                                 break;  
                         default:  
                                 console.log(ret.return.code);  
                                 break;  
         }  
     })  
     .catch(function (error) {  
         console.log(error);  
     });  
   
         return false;  
 }  
   
 const instance = axios.create({  
     withCredentials: true,  
     timeout: 3000,  
     baseURL: document.location.protocol + '//' + document.location.hostname + (document.location.port=='' ? '' : (':' + document.location.port)) + '/bbs/',  
 });  
   
 </script>  
 </head>  
 <body>  
 <?  
         include "./member_service_guide.inc.php";  
 ?>  
         <center>  
         <p style="FONT-WEIGHT: bold; FONT-SIZE: 16px; COLOR: red; FONT-FAMILY: 楷体">更改用户资料</p>  
                 <form method="post" id="profile_form" name="profile_form" action="javascript: update_profile(profile_form);">  
                         <table border="1" cellpadding="10" cellspacing="0" width="90%" bgcolor="#ffdead" id=TABLE1>  
                                 <tr>  
                                         <td width="26%" align="right">  
                                                 密码  
                                         </td>  
                                         <td width="74%">  
                                                 密码修改请<a href="reset_pass.php" target=_blank>点击此处</a>通过邮箱重置。  
                                         </td>  
                                 </tr>  
                                 <tr>  
                                         <td align="right">  
                                                 昵称  
                                         </td>  
                                         <td>  
                                                 <span id="err_msg_nickname" name="err_msg" style="color: red;"></span><input id="nickname" name="nickname" value="<? echo htmlspecialchars($row["nickname"], ENT_HTML401, 'UTF-8'); ?>" readonly>  
                                                 <input type="button" onclick="NW_open('ch_nick.php','ch_nick',250,200);" value="修改昵称">  
                                         </td>  
                                 </tr>  
                                 <tr>  
                                         <td align="right">  
                                                 姓名  
                                         </td>  
                                         <td>  
                                                 <span id="err_msg_realname" name="err_msg" style="color: red;"></span><input id="realname" name="realname" value="<? echo htmlspecialchars($row["name"], ENT_HTML401, 'UTF-8'); ?>">  
                                                 <span style="color: red">*</span>  
                                                 长度不超过5个全角字符  
                                         </td>  
                                 </tr>  
                                 <tr>  
                                         <td align="right">  
                                                 性别  
                                         </td>  
                                         <td>  
                                                 <span id="err_msg_gender" name="err_msg" style="color: red;"></span><input type="radio" id="gender_male" name="gender" value="M" <? echo ($row["gender"] == "M" ? "checked" : ""); ?>>男  
                                                 <input type="radio" id="gender_female" name="gender" value="F" <? echo ($row["gender"] == "F" ? "checked" : ""); ?>>女  
                                                 <span style="color: red">*</span>  
                                                 <input type="checkbox" id="gender_public" name="gender_public" value="1" <? echo ($row["gender_pub"] ? "checked" : ""); ?>>公开  
                                         </td>  
                                 </tr>  
                                 <tr>  
                                         <td align="right">  
                                                 邮件地址  
                                         </td>  
                                         <td>  
                                                 <span id="err_msg_email" name="err_msg" style="color: red;"></span><input id="email" name="email" value="<? echo $row["email"]; ?>">  
                                                 <span style="color: red">*</span>  
                                                 修改邮箱后,请按照确认邮件提示操作<br>  
                                         </td>  
                                 </tr>  
                                 <tr>  
                                         <td align="right">  
                                                 出生日期  
                                         </td>  
                                         <td>  
                                                 <span id="err_msg_birthday" name="err_msg" style="color: red;"></span><select id="year" name="year" size="1">  
 <?  
         $birthday = (new DateTimeImmutable($row["birthday"]));  
   
         $year_current = intval(date("Y", time()));  
         $year_max = $year_current - 16; // Accept registrant of 16+ only  
         $year_min = $year_current - 80;  
         $year_selected = intval($birthday->format("Y"));  
         for ($year = $year_min; $year <= $year_max; $year++)  
44          {          {
45  ?>                  $result_set["return"]["code"] = -1;
46                                                          <option value="<? echo $year; ?>" <? echo ($year == $year_selected ? "selected" : ""); ?>><? echo $year; ?></option>                  $result_set["return"]["message"] = "个人资料不存在!";
47  <?  
48                    mysqli_close($db_conn);
49                    exit(json_encode($result_set));
50          }          }
 ?>  
51    
52                                                  </select>年          mysqli_free_result($rs);
53                                                  <select id="month" name="month" size="1">  
54  <?          $sql = "SELECT DISTINCT nickname FROM user_nickname WHERE UID = " . $_SESSION["BBS_uid"] .
55          $month_selected = intval($birthday->format("m"));                          " ORDER BY nickname";
56          for ($month = 1; $month <= 12; $month++)  
57            $rs = mysqli_query($db_conn, $sql);
58            if ($rs == false)
59          {          {
60  ?>                  $result_set["return"]["code"] = -2;
61                                                          <option value="<? echo $month; ?>" <? echo ($month == $month_selected ? "selected" : ""); ?>><? echo $month; ?></option>                  $result_set["return"]["message"] = "Query nickname error: " . mysqli_error($db_conn);
62  <?  
63                    mysqli_close($db_conn);
64                    exit(json_encode($result_set));
65          }          }
66  ?>  
67                                                  </select>月          while ($row = mysqli_fetch_array($rs))
                                                 <select id="day" name="day" size="1">  
 <?  
         $day_selected = intval($birthday->format("d"));  
         for ($day = 1; $day <= 31; $day++)  
68          {          {
69  ?>                  array_push($result_set["data"]["nicknames"], $row["nickname"]);
                                                         <option value="<? echo $day; ?>" <? echo ($day == $day_selected ? "selected" : ""); ?>><? echo $day; ?></option>  
 <?  
70          }          }
 ?>  
                                                 </select>日  
                                                 <span style="color: red">*</span>  
                                         </td>  
                                 </tr>  
                                 <tr>  
                                         <td align="right">  
                                                 QQ号码  
                                         </td>  
                                         <td>  
                                                 <span id="err_msg_qq" name="err_msg" style="color: red;"></span><input id="qq" name="qq" size="20" value="<? echo $row["qq"]; ?>">  
                                         </td>  
                                 </tr>  
                         </table>  
                         <p>  
                                 <input type="submit" value="提交">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
                                 <input type="reset" value="重填">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
                                 <input type="button" value="关闭窗口" name="B3" onclick="self.close();"></p>  
                         </p>  
                 </form>  
         </center>  
 </body>  
 </html>  
 <?  
71          mysqli_free_result($rs);          mysqli_free_result($rs);
72    
73          mysqli_close($db_conn);          mysqli_close($db_conn);
74    
75            // Output with theme view
76            $theme_view_file = get_theme_file("view/update_profile", $_SESSION["BBS_theme_name"]);
77            if ($theme_view_file == null)
78            {
79                    exit(json_encode($result_set)); // Output data in Json
80            }
81            include $theme_view_file;
82  ?>  ?>


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

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