A5下载 - 努力做内容最丰富最安全的下载站!

A5站长下载站

当前位置:A5下载 > 源码技巧 > 父类数据 > ThinkPHP用户注册登录留言完整实例

ThinkPHP用户注册登录留言完整实例

时间:2014-07-22 11:00作者:qazwsxzxc人气:3462

thinkphp是不套php程序框架,代码架构简单,可操作性强,有很多站长朋友用这套系统搭建网站!这篇文章给大家讲解ThinkPHP用户注册登录留言完整实例,希望可以帮助到有所需要的朋友!

这里需要大家注意的是,在存在用户模型的情况下实例化一个用户类的时候使用D方法来实现。

UserActiion.class.php页面:

01
<?php
02
class UserAction extends Action{
03
public function add(){
04
$user = D("user");
05
$user->create();
06
$result = $user->add();
07
if($result){
08
$this->assign("jumpUrl","__APP__/index/index");
09
$this->success('注册成功!');
10
}else{
11
//echo $user->getError();
12
$this->assign("jumpUrl","__APP__/user/register");
13
$this->error($user->getError());
14
}
15
}
16
public function register(){
17
$this->display();
18
}
19
public function login(){
20
$this->display();
21
}
22
public function checklogin(){
23
$username = $_POST['username'];
24
$passwd = $_POST['passwd'];
25
$user = D("user");
26
//$User->where('id=8')->find();这里的where 语句要注意一下,如果是其他字段的话后面一定要有单引号
27
$userinfo = $user->where("username ='$username'")->find();
28
if(!empty($userinfo)){
29
if($userinfo['passwd'] == $passwd){
30
Cookie::set('userid',$userinfo['id'],time()+3600*24);
31
Cookie::set('username',$username,time()+3600*24);
32
Cookie::set('lastlogintime',time(),time()+3600*24);
33
$this->assign("jumpUrl","__APP__/index/index");
34
$this->success('登陆成功!');
35
}else{
36
$this->assign("jumpUrl","__APP__/user/login");
37
$this->error('密码出错,请重新输入!');
38
}
39
}else{
40
$this->assign("jumpUrl","__APP__/user/login");
41
$this->error('用户名不存在!');
42
}
43
}
44
public function loginout(){
45
Cookie::delete('username');
46
Cookie::delete('lastlogintime');
47
$this->assign("jumpUrl","__APP__/index/index");
48
$this->success('您已经成功退出,欢迎您的下次登录!');
49
}
50
}
IndexAction.class.php页面:

01
<?php
02
// 本类由系统自动生成,仅供测试用途
03
class IndexAction extends Action{
04
public function insert() {
05
$content = new ContentModel();
06
$result = $content->create();
07
if(!$result){
08
$this->assign("jumpUrl","__URL__/index");
09
$this->error($content->getError());//如果创建失败,表示验证没有通过,输出错误信息
10
}else{//验证通过,进行其他操作
11
$content->userid=Cookie::get('userid');
12
$content->add();
13
$this->assign("jumpUrl","__URL__/index");
14
$this->success('添加成功!');
15
}
16
}
17
// 数据查询操作
18
public function index() {
19
$content = new ContentModel();
20
$list = $content->findAll();
21
//用户的cookie
22
$username = Cookie::get('username');
23
$lastlogintime = Cookie::get('lastlogintime');
24
$this->assign('list',$list);
25
$this->assign('title','我的首页');
26
$this->assign('username',$username);
27
$this->assign('lastlogintime',$lastlogintime);
28
$this->display();
29
}
30
// 删除操作
31
public function delete(){
32
$content = new ContentModel();
33
$id = $_GET['id'];
34
if($content->where("id=$id")->delete()){
35
$this->assign("jumpUrl","__URL__/index");
36
$this->success('删除成功!');
37
}else{
38
$this->assign("jumpUrl","__URL__/index");
39
$this->error('删除失败!');
40
}
41
}
42
// 编辑操作
43
public function edit(){
44
$content = new ContentModel();
45
$id = $_GET['id'];
46
if($id != '')
47
{
48
//$data = $content->select($id);
49
$data = $content->where("id=$id")->select();
50
if(!empty($data)){
51
$this->assign('data',$data);
52
}else{
53
echo "数据为空!";
54
}
55
}
56
$this->assign('title','编辑页面');
57
$this->display();
58
}
59
// 更新操作
60
public function update(){
61
$content = new ContentModel();
62
//直接使用create(),自动会帮你进行数据的传值
63
/*$content->create();
64
$content->save(); // 根据条件保存修改的数据
65
echo "更新数据成功!";*/
66
// 使用post 传值过来,进行更新
67
$id = $_POST['id'];
68
if($id != '')
69
{
70
$data['id'] = $id;
71
$data['title'] = $_POST['title'];
72
$data['content'] = $_POST['content'];
73
if($content->save($data))// 根据条件保存修改的数据
74
{
75
$this->assign("jumpUrl","__URL__/index");
76
$this->success('更新数据成功!');
77
}
78
else{
79
$this->assign("jumpUrl","__URL__/index");
80
$this->success('更新数据失败!');
81
}
82
}else
83
{
84
echo "保存数据失败!";
85
}
86
}
87
}
88
?>
ContentModel.class.php页面:

01
<?php
02
class ContentModel extends Model{
03
/*
04
* 自动验证
05
* array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间)
06
*/
07
protected $_validate = array(
08
array('title','require','标题必须填写!'),
09
array('content','require','内容必须填写!'),
10
);
11
/*
12
* 自动填充
13
* array(填充字段,填充内容,填充条件,附加规则)
14
*/
15
protected $_auto = array(
16
array('addtime','time',1,'function'),
17
);
18
}
19
?>
UserModel.class.php页面:

1
<?php
2
class UserModel extends Model{
3
protected $_validate = array(
4
array('username','','帐号名称已经存在!',0,'unique',1),
5
);
6
}
7
?>
这里需要注意的是,使用自动验证的时候 实例化时要用 $user = D("user") 而不能用 $user = M("user"),用M这种方法会报错,D函数用于实例化Model,M函数用户实例化一个没有模型的文件。

success.html页面:

01
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
02
<html>
03
<head>
04
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
05
<meta http-equiv="refresh" content="20; url='{$jumpUrl}'" />
06
<title>信息提示</title>
07
</head>
08
<body>
09
<div id="man_zone">
10
<table width="40%" border="1" align="center" cellpadding="3" cellspacing="0"class="table" style="margin-top:100px;">
11
<tr>
12
<th align="center" style="background:#cef">信息提示</th>
13
</tr>
14
<tr>
15
<td><p>{$message}<br />
16
2秒后返回指定页面!<br />
17
如果浏览器无法跳转,<a href="{$jumpUrl}" rel="external nofollow" >请点击此处</a>。</p></td>
18
</tr>
19
</table>
20
</div>
21
</body>
22
</html>

 

标签ThinkPHP,用户注册,登录,留言,完整,实例,thin

相关下载

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

公众号