微信小程序开发记账应用实战服务端之用户注册与登录基于Codeigniter3描述

图1

#1.下载:

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

解压到根目录

#2.创建Controller

application/controller/User.php

目标URL

http://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' => '',
	);

数据库类:http://codeigniter.org.cn/user_guide/database/results.html#id5

查询代码:

	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;

源码下载:关注下方的公众号->回复数字1009

对小程序开发有趣的朋友关注公众号: huangxiujie85,QQ群: 581513218,微信: small_application,陆续还将推出更多作品。

公众号

转载于:https://my.oschina.net/huangxiujie/blog/761636

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值