不懂?没有人会嘲笑你;装懂?人人鄙视你;不懂,先研究;再不懂,就问吧!

PHP-CI框架通过邮件找回密码

php xjmroots 2832℃ 3评论

PHP CI框架写的找回密码
网站需要找回密码功能,本人PHP是新手,可愁死我了。。。不断找度娘总与搞定了
我把注册页面,改成2个页面,一个输入email地址发邮件页面,一个输入新密码页面

	class Getpass extends CI_Controller {
	function __construct(){

		parent::__construct();
		$this->load->helper('captcha');
		$this->load->library('form_validation');
		$this->load->model('register_model');
	}

	public function index(){

		checkLogin('您已经登录,请退出后再进行注册', site_url('/'), true);
		$content['captcha'] = $this->_getCaptcha();
		$content['title'] = '用户注册';
		$this->load->view('mail_view',$content);//这是输入email发邮件页面

	}

 public function sendmail(){
		$data = $this->input->post('email');
              $user = $this->register_model->wjpass($data);
          //  $uid = $user['id'];
		$username = explode("@",$user['email'])[0];
              $token = md5($user['id'].$user['username'].$user['password']);
              $url = "http://www.lqx.cc/topass/resets?email=".$data."&token=".$token;
              $time = date('Y-m-d H:i');

		$this->load->library('email');
		$this->email->mailtype='html';	
		$this->email->from('root@lqx.com', '家明');
		$this->email->to("$data");
//$this->email->cc('xiejiamingqq@163.com');
//$this->email->bcc('them@xjmroot.com');

		$this->email->subject('找回密码');
		$message = "
		<html>
		<head>
  		<title>家明-找回密码</title>
		</head>
		<body>
		  <p>找回密码</p>
		亲爱的".$username.":<br/>您在".$time."提交了找回密码请求。请点击下面的链接重置密码
		(按钮24小时内有效)。<br/><a href='".$url."'target='_blank'>".$url."</a>
		</body>
		</html>
		";
		$this->email->message("$message");
		$this->email->send();
echo $this->email->print_debugger();//看详细信息
	}

	public function resets(){
		$token = stripslashes(trim($_GET['token']));
		$email = stripslashes(trim($_GET['email']));
		$user = $this->register_model->wjpass($email);
	if($user){
		$mt = md5($user['id'].$user['username'].$user['password']);
			if($mt==$token){
	 	checkLogin('您已经登录,请退出后再进行操作', site_url('/'), true);
                $content['title'] = '找回密码';
                $this->load->view('reset',$content);	//这是我在注册页面里面截取出来的输入新密码页面
		}			
	else{ echo '无效的链接!';}
}else{echo "无效的链接!";}
                $this->form_validation->set_rules('passwd', '密码', 'trim|required|matches[passwdConfirm]');
                $this->form_validation->set_rules('passwdConfirm', '确认密码', 'trim|required');
		$data = array(
			'password' => md5(trim($this->input->post('passwd')))
			);
	//	$email = trim($this->input->post('email'));
                $this->register_model->updeUser($data,$email);

	}
	}

 

发现完全照着别人来完全不能完成啊,参考下就好了。自己得花心思看下代码,毕竟大家环境都不同、
参考资料:http://www.helloweba.com/view-blog-229.html

转载请注明:家明的博客 » PHP-CI框架通过邮件找回密码

喜欢 (3)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(3)个小伙伴在吐槽
  1. 又有独立的播放设备上海监控安装公司[url=http://www.afvvv.com]上海监控安装公司[/url]http://www.afvvv.com
  2. 好文章,内容见缝插针.
    荷兰网2015-02-19 21:42 回复
  3. 不错的文章,内容博学多才.禁止此消息:nolinkok@163.com
    肉牛2015-04-21 01:56 回复