gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章ThinkPHP之用户注册登录留言完整实例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文以实例形式讲述ThinkPHP实现的包括用户的注册、登录以及留言等功能,这里需要大家注意的是,在存在用户模型的情况下实例化一个用户类的时候使用D方法来实现。   UserActiion.class.php页面:

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

IndexAction.class.php页面:

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

ContentModel.class.php页面:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
class ContentModel extends Model{
/*
* 自动验证
* array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间)
*/
protected $_validate = array (
array ( 'title' , 'require' , '标题必须填写!' ),
array ( 'content' , 'require' , '内容必须填写!' ),
);
/*
* 自动填充
* array(填充字段,填充内容,填充条件,附加规则)
*/
protected $_auto = array (
array ( 'addtime' , 'time' ,1, 'function' ),
);
}
?>

UserModel.class.php页面:

?
1
2
3
4
5
6
7
<?php
class UserModel extends Model{
protected $_validate = array (
array ( 'username' , '' , '帐号名称已经存在!' ,0, 'unique' ,1),
); 
}
?>

  这里需要注意的是,使用自动验证的时候 实例化时要用 $user = D("user") 而不能用 $user = M("user"),用M这种方法会报错,D函数用于实例化Model,M函数用户实例化一个没有模型的文件。   success.html页面:

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

  。

最后此篇关于ThinkPHP之用户注册登录留言完整实例的文章就讲到这里了,如果你想了解更多关于ThinkPHP之用户注册登录留言完整实例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com