[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 项目实战之 ...
随机推荐
- rapidxml对unicode的支持
为了提高duilib创建布局控件的效率,在LuaDui项目中使用rapidxml解析器替换了duilib库自带的xml解析器. duilib使用unicode编译,所以rapidxml需要解析unic ...
- JNI学习总结
JNI学习总结 标签(空格分隔): java JNI:Java Native Interface,是一种通过java调用本地方法的技术(当然也可以反过来),随着JDK版本的提升,JNI的效率也一直在提 ...
- Hibernate的检索策略
hibernate 的中的session依照load()和get()按照参数的制定OID(ObjctID)去加载一个持久化对象.另外Query.list()方法则按照HQL语句去加载持久化的对象. 以 ...
- PDF.NET+EasyUI实现只更新修改的字段
PDF.NET 在我看来是目前最简单易用而且高效的orm框架之一,感谢作者深蓝医生 实现的功能是easyui的行内编辑,用到了爱看书不识字的datagrid仿extjs的行内编辑 都是牛人啊. 201 ...
- 菜鸟的MySQL学习笔记(五)
7.自定义函数 用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同.包含了两个必要条件,参数与返回值.没有必然内在联系. 函数可以返 ...
- 基于IAccessible接口的QQ窗口信息获取的实现
这个技术现在已经封装成DLL免费开放给大家使用了,详情请加群221487171 可以访问官方网站下载 http://www.guihelper.com/ 主要技术(Microsoft Active A ...
- js在本地预览图片
移动web <body> <form enctype="multipart/form-data" name="form1"> 上传文件: ...
- mysql统计表的大小
如下是sql语句: SELECT TABLE_NAME as name,DATA_LENGTH+INDEX_LENGTH as len,TABLE_ROWS as rows FROM informat ...
- linux 中 ‘|’的作用
利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入.连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入 ...
- 《疯狂java讲义》笔记 1-5章
1.编译语言和解释语言理解,摘自李刚老师的<疯狂Java讲义>第三版: 就是说,Java和.net都是编译型有事解释型语言.编译型就是根据不同平台编译成不同的可执行机器码,编译过程中会进行 ...