[MarsZ]ThinkPHP项目实战总结
本文原word格式百度云盘下载地址:
http://pan.baidu.com/s/1qYqZFkg
综述 2
需求 2
作者 2
系统一览 2
Unity3d客户端 2
PHP后台 4
准备 6
XAMPP 6
官网 6
下载地址 6
教程 6
ThinkPHP 6
官网 7
项目所用版本 7
下载地址 7
快速入门 7
完全手册 7
步骤 7
准备ThinkPHP 7
修改MySQL设置信息 8
检测是否成功 9
扩展:控制器和模板 9
原则 9
添加控制器方法 9
添加界面模板 10
其他功能依此类推 10
注意 10
Thinkphp 10
比较标签 10
数据读取 10
Session 11
无法加载数据库驱动: Think\Db\Driver\ 11
PHP 11
PHP全选和删除 11
PHP处理Checkbox复选框表单提交 11
HTML 12
HTML框架 12
HTML框架如何进行同框架页面跳转(转) 12
MySQL 12
MySQL创建数据库 12
综述
需求
这次的需求是:一个U3D应用需要学生登录、学生注册、学生密码修改功能,相关后台需要查看学生列表、学生信息修改、查看管理员列表、管理员信息修改和增加等功能。
综合考虑后后台采用PHP语言、ThinkPHP框架、MySQL数据库。
作者
本文作者:MarsZ
QQ:569491198
交流群:498885177
版本:第一版
时间:2016年3月29日10:32:18
废话:这个项目是我工作业余接的一个私活,业余时间做的,前后大约花了20小时的样子。虽然本人是搞Unity3D的,但是不论之前搞Flash页游开发,还是现在搞U3D手游开发,还是其他的,PHP都是个不错的后台语言,能实现很多功能需求。第一版还没有加上UI美化,发完总结再说。这个总结一方面给有需要的朋友参考,一方面也是自己的一种习惯,做过的东西有必要的话写下来,方便以后自己参考。
系统一览
Unity3d客户端
Unity3d前台注册:

Unity3d前台注册
Unity3d前台登录:

Unity3d前台登录
Unity3d前台密码找回:

Unity3d前台密码修改
PHP后台
注意:本版本为第一版,还没有加上UI美化修饰。

后台登录

后台首页-学生列表

后台首页-学生信息编辑

后台首页-账号管理

后台首页-新建管理员
准备
XAMPP
(Apache+MySQL+PHP+PERL)是一个功能强大的建 XAMPP 软件站集成软件包,安装完毕后就不用安装Apache、MySQL及PHP了。
官网
下载地址
http://www.xampps.com/xampp.zip (必备)
教程
安装方法:下载安装包后一键安装模式,傻瓜式,没有需要解释的
ThinkPHP
官网
项目所用版本
http://www.thinkphp.cn/down/610.html
下载地址
http://www.thinkphp.cn/down/610.html (必备)
快速入门
http://www.kancloud.cn/thinkphp/thinkphp_quickstart (推荐)
完全手册
http://www.kancloud.cn/manual/thinkphp (参考)
步骤
准备ThinkPHP
下载ThinkPHP并解压到网站目录,解压完毕后的目录结构为xampp\htdocs\ArtStudio:

网站目录
修改MySQL设置信息
配置文件位于:xampp\htdocs\ArtStudio\Application\Common\Conf的config.php:

MySQL配置修改
检测是否成功
访问网址http://localhost/ArtStudio/index.php/Admin/Index/index
即可访问Admin模块的Index控制器的index方法,看到首页了。
扩展:控制器和模板
原则
模板中提交数据到控制器中对应的方法,有参数就传入参数。
添加控制器方法
打开xampp\htdocs\ArtStudio\Application\Admin\Controller下的IndexController.class.php
增加一个方法:public function login($as_admin_name,$as_admin_password)。
给定2个参数$as_admin_name,$as_admin_password。

控制器方法
添加界面模板
打开xampp\htdocs\ArtStudio\Application\Admin\View\Index下的index.html模板,
创建表单,提交到__URL__/login,对应控制器中的login方法,
传入2个参数。
其他功能依此类推
注意
Thinkphp
比较标签
参考:
http://document.thinkphp.cn/manual_3_2.html#compare
格式:
<eq name="name" value="value">
相等
<else/>
不相等
</eq>
例子:
<eq name="vo:name" value="$a">{$vo.name}</eq>
数据读取
参考:
http://document.thinkphp.cn/manual_3_2.html#read_data
例子:
$User = M("User"); // 实例化User对象
// 获取ID为3的用户的昵称
$nickname = $User->where('id=3')->getField('nickname');
Session
参考:
http://www.kancloud.cn/manual/thinkphp/1872
格式:
session('name','value'); //设置session
ession('name',null); // 删除nam
例子:
session('user.user_id',10); //设置session
session('user.user_id',null); // 删除session
无法加载数据库驱动: Think\Db\Driver\
参考:
http://www.thinkphp.cn/topic/29611.html
PHP
PHP全选和删除
参考:
http://blog.163.com/iamphex@yeah/blog/static/853658012011118033893/
PHP处理Checkbox复选框表单提交
参考:
http://blog.csdn.net/sysprogram/article/details/42693295
HTML
HTML框架
参考:
http://www.w3school.com.cn/tiy/t.asp?f=html_frame_navigation2
http://www.w3school.com.cn/tiy/t.asp?f=html_frame_mix
HTML框架如何进行同框架页面跳转(转)
参考:
MySQL
MySQL创建数据库
参考:
http://outofmemory.cn/code-snippet/2533/mysql-create-database-specify-utf-8-coding
例子:
CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
USE DATABASEName;//注意数据库名字不要加引号
[MarsZ]ThinkPHP项目实战总结的更多相关文章
- ThinkPHP3.2开发仿京东商城项目实战视频教程
ThinkPHP3.2仿京东商城视频教程实战课程,ThinkPHP3.2开发大型商城项目实战视频 第一天 1.项目说明 2.时间插件.XSS过滤.在线编辑器使用 3.商品的删除 4.商品的修改完成-一 ...
- tp5博客项目实战1
tp5博客项目实战 开发准备:环境wamp,windows系统为例.看实战博客,默认会搭建开发环境并且tp5框架已经至少有一定的基础. tp5的下载与安装 方法一:直接在官网下载拷贝到wamp你的项目 ...
- Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- 给缺少Python项目实战经验的人
我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...
- 【腾讯Bugly干货分享】React Native项目实战总结
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e16a7640ad7b4682c64a7 “8小时内拼工作,8小时外拼成长 ...
- Asp.Net Core 项目实战之权限管理系统(0) 无中生有
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- Asp.Net Core 项目实战之权限管理系统(2) 功能及实体设计
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
随机推荐
- Qt 之 QtScript
前言 前面学习中,很多地方都用到了C++和JavaScript相互通信.今天就学习QtScript模块吧. Qt 包含完全集成的 ECMA 标准脚本引擎.Qt Script 集成了 QObject,为 ...
- 坑爹CF April Fools Day Contest题解
H - A + B Strikes Back A + B is often used as an example of the easiest problem possible to show som ...
- Greedy is Good
作者:supernova 出处:http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=greedyAlg Joh ...
- SVN资料库转移-----dump和load
最近由于大批量的更换服务器,所以之前布署的SVN服务器需要重新布署,需要把原来的资源库转移到新服务器上,并且使管理的项目版本一致,在网上查了一下SVN版本库迁移,但看了一上google出来的也很少,所 ...
- tq --uboot使用
- Nand Flash命令- nand info nand erase nand read[.jffs2] addr off size .jffs代表ECC方式不同 nan ...
- ES6 语法简介
参考: http://es6.ruanyifeng.com/ 总结学习 JavaScript语言下一代标准,2015年6月正式发布. 1.let和const命令 let用作变量声明,只在代码块内有效 ...
- rgba兼容IE系列
在容器里面如果用到opacity或者filter:opacity里面的内容也会被滤镜化 如果不想里面的内容也被滤镜化我们可以用rgba来处理或者用透明的背景图片. 兼容ie的rgba的写法 backg ...
- 基于ARM-LINUX的温度传感器驱动(DS18B20) .
DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等.主要根据应用场合的不同而改变其外观.封装 ...
- 2016-10-31 reload
经历了创业公司的欠薪后,决定重新开始,从原本着力于如何快速入门与实现变更为巩固基础再出发. 2016-10-31
- Ubuntu 12.04如何从登录界面登录root
root登录,可以使我们拥有管理系统最高的权限,但是随之带来的也是,系统的安全得不到足够的保障.Ubuntu官方资料说不推荐我们以root方式登录到系统中,但是如果我们真想这么做,也是可以的. 不同版 ...