[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 项目实战之 ...
随机推荐
- HDU 3008 Warcraft(DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3008 题目大意:人有100血和100魔法,每秒增加 t 魔法(不能超过100).n个技能,每个技能消耗 ...
- JavaWeb用户登录功能的实现
大四快毕业了,3年多的时间中,乱七八糟得学了一大堆,想趁找工作之前把所学的东西整理一遍,所以就尝试着做一个完整的JavaWeb系统,这几天试着做了一个用户登录的功能,分享给大家,肯定有很多不完善的地方 ...
- 调度思路+EurekaServer获得当前机器的instanceid
调度思路 概念 Build 一次完整的构建 整个流水线 Task(BuidStep) 流水线中的某一个步骤单元 先假设对于一个Build(流水线)而言里面所有Task是串行执行的 并且各Task之间不 ...
- Nginx+uWSGI+Django+Python在Linux上的部署
搞了一整天,终于以发现自己访问网络的端口是错误的结束了. 首先要安装Nginx,uWSGI,Django,Python,这些都可以再网上查到. 安装好后可以用 whereis 命令查看是否安装好了各种 ...
- App页面显示优化
在开发移动端APP页面时,对各操作系统各种型号的手机进行适配是必须的.然鹅,上周在开发完一个落地页后,被测试给打了回来,其中列出了一个在我看来很小的问题:单击进入页面的时候,页面还没加载完的时候字体显 ...
- java通过jni方式获取硬盘序列号(windows,linux)
linux系统java通过jni方式获取硬盘序列号 http://blog.csdn.net/starter110/article/details/8186788 使用jni在windows下读取硬盘 ...
- Mybatis 学习
1. Mybatis 中 # 与 $ 符号的区别: a. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号. 如:order by #user_id#,如果传入的值是12,那么解 ...
- Django: ModelForm中Meta的fields等成员介绍
class MyForm(forms.ModelForm): realname = forms.CharField() phone = forms.CharField() class Meta: mo ...
- 利用MSF溢出攻击讲解
msf的强大之处也就不做探讨了,虽然这些东西网上很多.但我想说说我的感受. 这次的演示是在BT5中远程攻击一台win2003 sp2 metasploit是4.3的 需要说明的一点是 现在的BT5中不 ...
- uva 11992 - Fast Matrix Operations
简单的线段树的题: 有两种方法写这个题,目前用的熟是这种慢点的: 不过不知道怎么老是T: 感觉网上A过的人的时间度都好小,但他们都是用数组实现的 难道是指针比数组慢? 好吧,以后多用数组写写吧! 超时 ...