• thinkphp 用户注册功能


    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>
  • 相关阅读:
    Java中的toString、equals方法覆写,懒汉式单例模式,及异常处理
    【Java】String类、Object类、包装类总结
    Java接口练习
    Java面向对象测试
    【Java】二叉搜索树的实现操作及应用
    【Java】实现二叉树基本操作、面试题
    SAS--宏变量
    SAS--array
    SAS--do loop until while
    SAS--设置行号、标记
  • 原文地址:https://www.cnblogs.com/zoupufa/p/4334571.html
Copyright © 2020-2023  润新知