视频博客笔记

来源:互联网 发布:犀牛软件安装 编辑:程序博客网 时间:2024/06/08 10:17
//用户模型
class UserModel extends Model{
pulic $table='user';
//用户添加方法
public function add_user(){
if($this->create()){
$this->data['password']=md5($this->data['password']);
if($this->add()){
return true;
}else{
return false;
}
}
}
//修改昵称和签名的方法
public function save_base(){
$uid=Q('uid',0,'intval');
$uname=Q('uname');
$sign=Q('sign');
if($this->where(array('uid'=>$uid))->save(array('uname'=>$uname,'sign'=>$sign))){
$_SESSION['user']['uname']=$uname;
$_SESSION['user']['sign']=$sign;
return true;
}else{
return false;
}
}
//异步查询旧密码是否正确
public function check_password(){
$oldpass=md5(Q('oldpassword'));
$uid=$_SESSION['user']['uid'];
$data=$this->where(array('uid'=>$uid))->find();
if($data['password']==$oldpass){
return true;
}else{
return false;
}
}
//修改用户密码
public function reset_password(){
$uid=$_SESSION['user']['uid'];
$pass=md5(Q('password'));
if($this->where(array('uid'=>$uid))->save(array('password'=>$pass))){
return true;
}else{
return false;
}
}
//头像图片路径入库
public function upload_pic(){
$oldpic=Q('oldpic');
$upload=new Upload();
$info=$upload->upload();
/*
Array(
[0]=>Array(
[path]=>upload/24354563424.jpg
[uptime]=>1412756218
[filename]=>hdpic
[basename]=>72461412756218.jpg
[filename]=>72461412756218
[name]=>3
[size]=>10248
[ext]=>jpg
[dir]=>upload/
[url]=>http://localhost/hdmovie/upload/72461412756218.jpg
[image]=>1
)
)
*/
$uid=$_SESSION['user']['uid'];

if(!empty($oldpic) && !empty($info)){  //以前有头像,现在上传新头像 
$path=$info[0]['path'];  //用新头像
unlink($oldpic);//把旧头像给删除
}else if(!empty($oldpic)&& empty($info)){//以前有头像,现在没有上传新头像 
$path=$oldpic;//用旧头像
}else if(empty($oldpic)&&!empty($info)){//以前没有头像,现在上传新头像  
$path=$info[0]['path'];//用新头像
}else{ //以前没有头像,现在也没有上传新头像  
$path=''; //存个空字符串
}
if($this->where(array('uid'=>$uid))->save(array('path'=>$path))){
$_SESSION['user']['hdpic']=$path;  // <img src="__ROOT__/{$_SESSION['user']['hdpic']}">
return true;
}else{
return false;
}
}
}




//用户登陆控制器
class LoginController extends Controller{
//注册方法
public function register(){
if(IS_POST){
if(K('User')->add_user()){
$this->success('success',__ROOT__);
}else{
$this->error('fail');
}
}else{
$this->display();
}
}
//验证码方法
public function code(){
$code=new Code();
$code->show();
}
//异步验证邮箱
public function check_email(){
$email=Q('email');
$data=M('User')->where(array('email'=>$email))->find();
if($data){
return 0;
}else{
return 1;
}
}
//异步验证验证码
public function check_code(){
$code=Q('code');
$code=strtoupper($code);
if($_SESSION['code']==$code){
echo 1;
}else{
echo 0;
}
exit;
}
//登录方法
public function login(){
if(IS_POST){
$uname=Q('uname');
$pass=md5(Q('password'));
$data=M('user')->where(array('uname'=>$uname,'password'=>$pass))->find();
if($data){
unset($data['password']);
$_SESSION['user']=$data;
$this->success('登录成功',__ROOT__);
}else{
$this->error('用户名或者密码错误');
}
}else{
$this->display();
}
}
//退出登陆
public function logout(){
$_SESSION['user']=array();
go(__ROOT__);
}
}





验证码随机数添加:


onclick="this.src=this.src+'?m='+Math.randow()"




//用户注册前端验证


$('#register').validate({
email:{
rule:{
email:true,
ajax:"{|U:'Login/check_email'}",
},
error:{
email:'邮箱格式错误',
ajax:'邮箱已经被注册'
},
success:'邮箱验证通过',
message:'请输入邮箱',
},
uname:{
rule:{
require:true,
user:'6,20'
},
error:{
require:'用户名必须填',
user:'用户名必须在6-20位之间'
},
success:'用户名验证通过',
message:'请输入用户名'
},
password:{
rule:{
require:true,
maxlen:20,
minlen:6
},
error:{
required:'请输入密码',
maxlen:'密码不超过20位',
minlen:'密码不少于6位'
},
success:'密码验证通过',
message:'密码不能为空',
},
code:{
rule:{
required:true,
ajax:"{|U:'Login/check_code'}";
},
error:{
required:'验证码必须填写',
ajax:'验证码错误'
},
success:'验证码验证通过',
message:'请输入验证码'
}

})




//用户登录验证


$('#login_form').validate({
uname:{
rule:{
required:true,
user:'6,20',
},
error:{
required:'请输入用户名',
user:'用户名必须在6-20位之间'
},
success:'用户名验证通过',
message:'请输入用户名'
}
upass:{}
})




<if value="$_SESSION['user']">
//登录用户的详情数据  用户昵称|我的主页链接|个人设置|退出
<else>
        //显示登陆注册入口  登录|注册
</if>


2小斋  --  1    5路口




//个人中心控制器


class HomeController extends Controller{
//个人中心设置
public function set(){
if(IS_POST){
if(K('User')->save_base()){
$this->success('修改用户信息成功');
}else{
$this->error('修改信息失败');
}
}else{
$this->display();
}
}
//个人中心首页
public function index(){

}
//异步验证旧密码是否正确
public function check_password(){
if(K('User')->check_password()){
return 1;
}else{
return 0;
}
exit;
}
//修改用户密码
public function reset_password(){
if(K('user')->reset_password()){
$this->success('用户密码修改成功');
}else{
$this->error('用户密码修改失败');
}
}
public function upload_pic(){
if(K('user')->upload_pic()){
$this->success('头像上传成功');
}else{
$this->error('头像上传失败');
}
}
}


//修改用户密码


//旧密码异步验证
$('#reset_password').validate({
oldpassword:{
rule:{
required:true,
ajax:"{|U:'Home/check_password'}",
},
error:{
required:'旧密码必须填写',
ajax:'旧密码错误'
},
success:'旧密码验证通过',
message:'请填写旧密码'
},
password:{
rule:{
required:true,
minlen:8,
maxlen:20
},
error:{
required:'密码必须填写',
minlen:'密码最短不能少于8位',
maxlen:'密码最长不超过20位'
},
success:'密码规则验证通过',
message:'请填写新密码'
},
repassword:{
rule:{
required:true,
minlen:8,
maxlen:20,
confirm:'password'
},
error:{
required:'必须填写新密码',
minlen:'密码最短不能少于八位',
maxlen:'密码最长不能超过20位',
confirm:'password'
},
success:'确认密码验证通过',
message:'再次输入新密码'
}
})




//头像上传    $info 为空,没传头像     $oldpic 是否上传过头像
1.以前有头像,现在上传新头像 用新头像并且需要删除服务器中旧的头像
2.以前有头像,现在没有上传新头像 用以前的头像
3.以前没有头像,现在上传新头像 用新头像
4.以前没有头像,现在也没有上传新头像 存空字符串


if($oldpic && $info){


}else if($oldpic && empty($info)){


}else if(empty($oldpic) && $info){


}else if(empty($oldpic) && empty($info)){

}




表单 
<form action='{|U:'Home/upload_pic'}' method="post" enctype="multipart/form-data">
<input type="text|hidden" name="oldpic" value="{$_SESSION['user']['hdpic']}"/>  保存老头像的地址
</form>












//后台模块开始


//添加栏目管理模块




//后台首页控制器
class IndexController extends Controller{
public function index(){
$this->display();
}
}


//栏目控制器


class Category extends Controller{
//栏目列表显示
public function index(){
$data=K('Category')->get_category();
$this->assign('data',$data);
$this->display();
}
//添加栏目方法
public function add(){
if(IS_POST){
$category=Q('cname');
if(K('Category')->add_category()){
$this->success('栏目添加成功!','index');
}else{
$this->error('栏目添加失败!');
}
}else{
$this->display();
}
}
//栏目编辑方法
public function edit(){
if(IS_POST){
if(K('Category')->edit_category()){
$this->success('栏目修改成功!','index');
}else{
$this->error('栏目修改失败!');
}
}else{
$cate=K('category')->get_data_by_cid();
$this->assign('cate',$cate);
$this->display();
}
}
//删除栏目方法
public function delete(){


}
}




class CategoryModel extends Model{
//添加栏目的方法
public $table='category';
public function add_category(){
$cname=Q('cname');
if($this->create()){
if($this->add()){
return true;
}else{
return false;
}
}
}
//获取栏目列表
public function get_category(){
$data=$this->all();
return $data;
}
//根据cid获取栏目名称
public function get_data_by_cid(){
$cid=Q('cid',0,'intval');
$cate=$this->where('cid'=>$cid)->find();
return $cate; 
}
public function edit_category(){
$cid=Q('cid',0,'intval');
$cname=Q('cname');
if($this->where(array('cid'=>$cid))->save(array('cname'=>$cname))){
return true;
}else{
return false;
}
}
}






//前段关键代码
<a href="{|U:'Category/edit',array('cid'=>$d['cid'])}">编辑</a>
<a href="{|U:'Category/delete',array('cid'=>$d['cid'])}">删除</a>