首页 > CMS > PhpCMS > 正文

phpcms v9实现会员在一个页面修改昵称、手机号、邮箱、密码等信息

2024-09-10 07:17:21
字体:
来源:转载
供稿:网友
这篇文章主要为大家详细介绍了phpcms v9实现会员在一个页面修改昵称、手机号、邮箱、密码等信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。

phpcms会员在一个页面修改昵称、手机号、邮箱、密码等信息

phpcms默认的会员信息修改是分在多个页面操作的,很是不方便,那么有没有办法把这些修改集中到一个页面呢?如上图所示,把会员的相关信息修改放到一起。答案是肯定的,下面361源码就给出修改方案,方便大家参看。

第一步:将以下代码放入/phpcms/modules/member/index.php中:

public function gai_intro() {if(isset($_POST['dosubmit'])) {$updateinfo = array();//修改手机号码if($_POST['mobile'] && $this->memberinfo['mobile'] != $_POST['mobile']) {//如果接收到数据且与数据库中记录的值不相符才进行操作$mobile = $_POST['mobile'];$this->db->update(array('mobile'=>$mobile), array('userid'=>$this->memberinfo['userid']));}//修改姓名$nickname = $_POST['nickname'];if($nickname) {$this->db->update(array('nickname'=>$nickname), array('userid'=>$this->memberinfo['userid']));if(!isset($cookietime)) {$get_cookietime = param::get_cookie('cookietime');}$_cookietime = $cookietime ? intval($cookietime) : ($get_cookietime ? $get_cookietime : 0);$cookietime = $_cookietime ? TIME + $_cookietime : 0;param::set_cookie('_nickname', $nickname, $cookietime);}//修改会员邮箱if($this->memberinfo['email'] != $_POST['email'] && is_email($_POST['email'])) {$email = $_POST['email'];$this->db->update(array('email'=>$email), array('userid'=>$this->memberinfo['userid']));//将新邮箱写入phpsso中if(pc_base::load_config('system', 'phpsso')) {//初始化phpsso$this->_init_phpsso();$res = $this->client->ps_member_edit('', $email, '', '', $this->memberinfo['phpssouid'], $this->memberinfo['encrypt']);$message_error = array('-1'=>L('user_not_exist'), '-2'=>L('old_password_incorrect'), '-3'=>L('email_already_exist'), '-4'=>L('email_error'), '-5'=>L('param_error'));if ($res < 0) showmessage($message_error[$res]);}}//当旧密码和新密码均存在时进行下列操作if($_POST['password'] && $_POST['newpassword']){  if(!is_password($_POST['password'])) {  showmessage(L('password_format_incorrect'), HTTP_REFERER);  }  //判断传入的旧密码是否与数据库中的密码相符  if($this->memberinfo['password'] != password($_POST['password'],   $this->memberinfo['encrypt'])) {  showmessage(L('old_password_incorrect'), HTTP_REFERER);  }  if(!is_password($_POST['newpassword'])) {  showmessage(L('password_format_incorrect'), HTTP_REFERER);  }  $newpassword = password($_POST['newpassword'], $this->memberinfo['encrypt']);  $updateinfo['password'] = $newpassword;  //将新密码写入_member表中  $this->db->update($updateinfo, array('userid'=>$this->memberinfo['userid']));  //将新密码写入phpsso中  if(pc_base::load_config('system', 'phpsso')) {  //初始化phpsso  $this->_init_phpsso();  $res = $this->client->ps_member_edit('', '', $_POST['password'], $_POST['newpassword'],   $this->memberinfo['phpssouid'], $this->memberinfo['encrypt']);  $message_error = array('-1'=>L('user_not_exist'), '-2'=>L('old_password_incorrect'),   '-3'=>L('email_already_exist'), '-4'=>L('email_error'), '-5'=>L('param_error'));  if ($res < 0) showmessage($message_error[$res]);  }}//当旧密码和新密码均存在时进行以上操作showmessage(L('operation_success'), HTTP_REFERER);} else {$show_validator = true;$memberinfo = $this->memberinfo;include template('member', 'gai_intro');}}

第二步:对应的在/phpcms/templates/default/member/中新建一个gai_intro.html文件,文件中包含下列代码:

 <form method="post" action="index.php?m=member&c=index&a=gai_intro" id="myform" name="myform">  <li><span>姓名:</span><input name="nickname" type="text" id="nickname" value="{$memberinfo['nickname']}"></li>  <li><span>手机号码:</span><input name="mobile" type="text" id="mobile" value="{$memberinfo['mobile']}"></li>  <li><span>邮箱:</span><input name="email" type="text" id="email" value="{$memberinfo['email']}"></li>  <li><span>旧密码:</span><input name="password" type="password" id="password" value="" placeholder="不修改留空即可"></li>  <li><span>新密码:</span><input name="newpassword" type="password" id="newpassword" value="" placeholder="修改密码后需要重新登录哦"></li>  <li><span>&nbsp;</span><input name="dosubmit" type="submit" id="dosubmit" value="提交"></li></form>

到这里就完成了,至于CSS样式,大家根据自己的喜好自己补充吧。

以上就是phpcms v9实现会员在一个页面修改昵称、手机号、邮箱、密码等信息的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持武林网。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表