欢迎光临,了解微信小程序开发,就上易用通!

秀杰实战教程系列《八》:记账应用实战服务端之用户注册与登录基于Codeigni

发布:2018-01-26 12:06浏览: 来源:网络 作者:cola

秀杰实战教程系列《八》:记账应用实战服务端之用户注册与登录基于Codeigni(图1)

1.下载:

https://github.com/bcit-ci/CodeIgniter/archive/3.1.0.zip

解压到根目录

2.创建Controller

application/controller/User.php

目标URL

https://financeapi.applinzi.com/index.php/user/login/

3.接收openid参数

使用input类,更安全

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class User extends CI_Controller {
    public function login() {
        echo $this->input->post('openid');
    }
}

4.建表

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `openid` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `accessToken` char(32) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`),
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

5.查询数据库,该用户是否存在。如存在,则返回用户信息供小程序本地storage保存;若不存在,则先新建一个用户。

加载数据库类:

autoload.php 第61行

$autoload['libraries'] = array('database');

配置数据库连接

database.php

$db['default'] = array(
    'dsn'    => '',
    'hostname' => 'localhost',
    'username' => '',
    'password' => '',
    'database' => '',
    );
数据库类

 

查询代码:

    public function login() {
        header("Content-type: application/json");
        // 取出参数
        $openid = $this->input->post('openid');
        // 查询数据库
        $query = $this->db->query("select * from user where openid = '" . $openid . "'");
        // 返回行数
        if ($query->num_rows() > 0) {
            // 取出该用户
            $user = $query->first_row();
            // 输出用户的信息
            echo json_encode($user);
            return;
        }
    }
新建代码:
       
 // 注册用户
        $user = array(
                'username' => $openid,
                'openid' => $openid,
                'accessToken' => md5(time().'mysalt')
            );
        $this->db->insert('user', $user);
        echo json_encode($user);
        return;





免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。