<?php
session_cache_limiter('private, must-revalidate');
session_start();if(!defined('BASEPATH')){exit('No direct script access allowed');}
include(GLOBAL_URL.FW_URL."apps/basic/meminclude.php");
include(GLOBAL_URL.FW_URL."include/function.inc.php");
include(GLOBAL_URL.FW_URL."include/pdodb.inc.php");
class Memupdpsw extends Meminclude {
function __construct(){
parent::Meminclude();
//$this->load->model("corpinfo_model");
$this->load->model("admin_model");
$this->load->library("session");
header("Content-type: text/html; charset=utf-8");
}   public function index() {
$data=$this->data_include();
    if(empty($_SESSION["psw"]))
{
$_SESSION["psw"]=null;
}
$data["word"]=$_SESSION["psw"];
$this->load->view("memadm/mupdpsw",$data);
unset($_SESSION["psw"]);
}   public  function logicpsw(){
$data=array();
$old_psw=filterform($this->input->post("old_psw"));
$new_psw=filterform($this->input->post("new_psw"));
$new_psw2=filterform($this->input->post("new_psw2"));
if(!$old_psw || !$new_psw || !$new_psw2){
$data["logicinfo"]="密码不能为空";
return $data;
}
if($new_psw!=$new_psw2){
$data["logicinfo"]="新密码两次输入不相同";
 return $data;
}
$len_psw=strlen($new_psw);
if($len_psw<5 || $len_psw>20){
$data["logicinfo"]="6--20个字符,只允许数字和英文字母,有大小区分"; 
return $data;
}
$mem_code=$_SESSION["memriv_code"];
$db_psw=$this->admin_model->getpsw($mem_code);
if($new_psw==$old_psw)
{
$data["logicinfo"]="新密码与旧密码不能一样,请修改!";
return $data;
}
$old_psw=jmpsw($old_psw,$mem_code);
        if(md5($db_psw)!=$old_psw){
//$data["logicinfo"]="原密码输入不正确,请核查";
return $data;
}
$data["logicinfo"]="";
$data["new_jmpsw"]=jmpsw($new_psw,$mem_code);
$data["mem_code"]=$mem_code;
return $data;
} public function updform(){                                                                                                                                                                                                                                                 
$data=$this->logicpsw();
        $logic_info=$data["logicinfo"];
if($logic_info){
show_msgbox($logic_info);exit();
}
$this->admin_model->updpsw1($data["mem_code"],$data["new_jmpsw"]);
$_SESSION["psw"]=array("psw"=>new_psw2);
header("location:{$this->mvc_uri}memadm/memupdpsw/index/{$this->adm_name}");
$actstr="<script>alert(\"修改成功\");window.location.href=\"{$this->mvc_uri}memadm/memupdpsw\";</script>";
echo displayhtml($actstr);

}
}
但是就是修改不了密码,该怎样改呢?

解决方案 »

  1.   

    我改了一下:在判断旧密码是否正确时
    $old_psw=jmpsw($old_psw,$mem_code);
       if(md5($db_psw)!=$old_psw){
     //$data["logicinfo"]="原密码输入不正确,请核查";
    return $data;
     }
    改成:
    $db_psw=$this->admin_model->getpsw($data["mem_code"]);
            if($db_psw!=$old_psw){
     $data["logicinfo"]=$db_psw;
         return $data;
    }
    经过测试之后发现$db_psw的值为空,为什么呢?
      

  2.   

    把原密码新密码通通打印出来看看
    还有  md5($db_psw)!=$old_psw
    我想应该是对表单新输入的密码 $old_psw MD5加密,怎么数据库里存的是明文? 那么还有什么必要MD5