国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
3.5KB

  1. <?php
  2. /**
  3. * @version $Id: edit_baseinfo.php 1 8:38 2010年7月9日Z tianya $
  4. * @package DedeCMS.Member
  5. * @copyright Copyright (c) 2007 - 2018, DesDev, Inc.
  6. * @copyright Copyright (c) 2020, DedeBIZ.COM
  7. * @license https://www.dedebiz.com/license/v6
  8. * @link https://www.dedebiz.com
  9. */
  10. require_once(dirname(__FILE__) . "/config.php");
  11. CheckRank(0, 0);
  12. $menutype = 'config';
  13. if (!isset($dopost)) $dopost = '';
  14. $pwd2 = (empty($pwd2)) ? "" : $pwd2;
  15. $row = $dsql->GetOne("SELECT * FROM `#@__member` WHERE mid='" . $cfg_ml->M_ID . "'");
  16. $face = $row['face'];
  17. if ($dopost == 'save') {
  18. $svali = GetCkVdValue();
  19. // 校验CSRF
  20. CheckCSRF();
  21. if (strtolower($vdcode) != $svali || $svali == '') {
  22. ReSETVdValue();
  23. ShowMsg('验证码错误!', '-1');
  24. exit();
  25. }
  26. if (!is_array($row) || $row['pwd'] != md5($oldpwd)) {
  27. ShowMsg('你输入的旧密码错误或没填写,不允许修改资料!', '-1');
  28. exit();
  29. }
  30. if ($userpwd != $userpwdok) {
  31. ShowMsg('你两次输入的新密码不一致!', '-1');
  32. exit();
  33. }
  34. if ($userpwd == '') {
  35. $pwd = $row['pwd'];
  36. } else {
  37. $pwd = md5($userpwd);
  38. $pwd2 = substr(md5($userpwd), 5, 20);
  39. }
  40. $addupquery = '';
  41. //修改安全问题或Email
  42. if ($email != $row['email'] || ($newsafequestion != 0 && $newsafeanswer != '')) {
  43. if ($row['safequestion'] != 0 && ($row['safequestion'] != $safequestion || $row['safeanswer'] != $safeanswer)) {
  44. ShowMsg('你的旧安全问题及答案不正确,不能修改Email或安全问题!', '-1');
  45. exit();
  46. }
  47. //修改Email
  48. if ($email != $row['email']) {
  49. if (!CheckEmail($email)) {
  50. ShowMsg('Email格式不正确!', '-1');
  51. exit();
  52. } else {
  53. $addupquery .= ",email='$email'";
  54. }
  55. }
  56. //修改安全问题
  57. if ($newsafequestion != 0 && $newsafeanswer != '') {
  58. if (strlen($newsafeanswer) > 30) {
  59. ShowMsg('你的新安全问题的答案太长了,请保持在30字节以内!', '-1');
  60. exit();
  61. } else {
  62. $newsafequestion = HtmlReplace($newsafequestion, 1);
  63. $newsafeanswer = HtmlReplace($newsafeanswer, 1);
  64. $addupquery .= ",safequestion='$newsafequestion',safeanswer='$newsafeanswer'";
  65. }
  66. }
  67. }
  68. //修改uname
  69. if ($uname != $row['uname']) {
  70. $rs = CheckUserID($uname, '昵称或公司名称', FALSE);
  71. if ($rs != 'ok') {
  72. ShowMsg($rs, '-1');
  73. exit();
  74. }
  75. $addupquery .= ",uname='$uname'";
  76. }
  77. //性别
  78. if (!in_array($sex, array('男', '女', '保密'))) {
  79. ShowMsg('请选择正常的性别!', '-1');
  80. exit();
  81. }
  82. $query1 = "UPDATE `#@__member` SET pwd='$pwd',sex='$sex'{$addupquery} where mid='" . $cfg_ml->M_ID . "' ";
  83. $dsql->ExecuteNoneQuery($query1);
  84. //如果是管理员,修改其后台密码
  85. if ($cfg_ml->fields['matt'] == 10 && $pwd2 != "") {
  86. $query2 = "UPDATE `#@__admin` SET pwd='$pwd2' where id='" . $cfg_ml->M_ID . "' ";
  87. $dsql->ExecuteNoneQuery($query2);
  88. }
  89. // 清除会员缓存
  90. $cfg_ml->DelCache($cfg_ml->M_ID);
  91. ShowMsg('成功更新你的基本资料!', 'edit_baseinfo.php', 0, 5000);
  92. exit();
  93. }
  94. include(DEDEMEMBER . "/templets/edit_baseinfo.htm");