thinkphp6企业项目实战_[MarsZ]ThinkPHP项目实战总结

本文原word格式百度云盘下载地址:

综述 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了。

官网

下载地址

教程

安装方法:下载安装包后一键安装模式,傻瓜式,没有需要解释的

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

比较标签

参考:

格式:

相等

不相等

例子:

{$vo.name}

数据读取

参考:

例子:

$User = M("User"); // 实例化User对象

// 获取ID为3的用户的昵称

$nickname = $User->where('id=3')->getField('nickname');

Session

参考:

格式:

session('name','value');  //设置session

ession('name',null); // 删除nam

例子:

session('user.user_id',10);  //设置session

session('user.user_id',null); // 删除session

无法加载数据库驱动: Think\Db\Driver\

参考:

PHP

PHP全选和删除

参考:

PHP处理Checkbox复选框表单提交

参考:

HTML

HTML框架

参考:

HTML框架如何进行同框架页面跳转(转)

参考:

MySQL

MySQL创建数据库

参考:

例子:

CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

USE DATABASEName;//注意数据库名字不要加引号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/337055.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java包装模式_在Java8中包装设计模式

java包装模式GOF书中没有列出环绕模式,但对于以下问题非常有用: 循环构造,例如执行while / while / for循环 秒表周围的一些代码。 用运行时异常包装检查的异常 初始化和清理,例如创建/销毁线程池或打开/关闭文件等 将上下文…

c得到当前时分秒 linux_Linuxc - Linux系统下的时间知识点

Unix/Linux系统下的时间知识点一、Unix/Linux系统的几种时间结构:1、time_t 类型:长整型,一般用来表示从1970-01-01 00:00:00时以来的秒数,精确度:秒;由函数time()获取;该类型定义在头文件 /usr…

【C语言】彻底搞懂内存屏障与volatile

点击蓝字关注我们因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络,侵删最有价值的写在最前面内存屏障与 volatile 是高并发编程中比较常用的两个技术,无锁队列的时候就会用到这两项技术。然而这两项技术涉…

javafx 使用_何时使用JavaFX代替HTML

javafx 使用像我这样的JavaFX爱好者反复面对的一个问题是何时(或为什么)使用JavaFX代替HTML(5)。 这是我的两分钱: 如果…,则应使用JavaFX。 …您对坚固性/质量感兴趣。 JavaFX是Java! 您将能…

charles代理手机调试_H5开发 移动端 调试之 Charles 抓包 和 Map Remote

移动端调试是每一位前端工程师必须掌握的技能,在移动端环境上往往有很多不同的情况,我们需要借助一些工具来调试。本文将介绍 Mac 如何安装 charles,进行抓包、以及一些应用场景。场景一:app端内线上环境接口报错,想看…

lucene 查询示例_Lucene查询(搜索)语法示例

lucene 查询示例本文是我们名为“ Apache Lucene基础知识 ”的学院课程的一部分。 在本课程中,您将了解Lucene。 您将了解为什么这样的库很重要,然后了解Lucene中搜索的工作方式。 此外,您将学习如何将Lucene Search集成到您自己的应用程序中…

熟悉又陌生的arm 编译器详解(armcc/armclang)

点击蓝字关注我们因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络,侵删arm编译器学习首先来了解一下编译器,其通常分为三个部分:前端优化器后端。前端:词法、语法和语义分析&#x…

js怎么获取一个元素与屏幕右边的距离_js如何获取div(ul li)离屏幕上下左右边距离(长度)...

在网页中移到元素div(或 ul li),常常需要获取元素div离屏幕上下左右的距离,这样可以知道元素处在屏幕中的位置,以控制元素的移动。获取元素div的长度或高度,可以用 js 获取元素div的width或height属性得到,但元素没有距…

图文详解STM32单片机远程升级

点击蓝字关注我们因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络,侵删1、需要两份程序BootLoader和App程序,两份程序均可以通过jlink下载,只需要将下载地址修改一下即可:2、在Boot…

建立索引lucene_用Lucene建立搜索索引

建立索引lucene本文是我们名为“ Apache Lucene基础知识 ”的学院课程的一部分。 在本课程中,您将了解Lucene。 您将了解为什么这样的库很重要,然后了解Lucene中搜索的工作方式。 此外,您将学习如何将Lucene Search集成到您自己的应用程序中…

hadoop 卡主_HDFS DisTCP执行卡住了,怎么办?

背景我们在进行两个集群间数据同步的时候,使用的是hdfs的distcp的方式进行跨集群跨版本的数据同步,但是在执行hdfs distcp 命令时,发现在运行到 with build listing处就卡住了 .具体问题如下图:针对问题解决,中间我们试过了哪些办法1 首先查看hdfs本身服务状态是否正常,get命令…

spring javafx_Oracle Spring Clean JavaFX应该吗?

spring javafx我们确实在Codename One上依赖JavaFX,我们的模拟器需要它。 我们的桌面版本使用它,而我们的设计器工具基于Swing。 我们希望它成功,这对我们的业务至关重要! 即使您是Java EE开发人员并且不关心桌面编程,…

哪些著名软件是用C、C++编写的?

点击蓝字关注我们因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络,侵删经常跟大家谈论C/C是多么的厉害,但总是耳听为虚,还需眼见为实,那如何做到眼见为实呢?当然还是要从…

tomcat截取日志_Tomcat的日志分割三种方法

一、Tomcat的日志分割三种方法一、方法一:用cronolog分割tomcat的catalina.out文件1、编译安装cronologwget http://cronolog.org/download/cronolog-1.6.2.tar.gztar zxvf cronolog-1.6.2.tar.gzcd cronolog-1.6.2./configuremake && make install2、查看c…

java ee 下版本_将旧版本从Java EE 5减少到7

java ee 下版本Java EE 5于2005年首次引入,而Java EE 7于2013年问世。这两个版本之间存在7年的差距,从技术角度来说,这就像一个世纪。 许多组织仍然对使用Java EE 5感到困惑,并且有很多正当的理由选择不升级。 不过,如…

哪款 Linux 才是更好的 CentOS 替代品?

点击蓝字关注我们因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络,侵删AlmaLinux 是基于 RHEL 的企业级 Linux 发行版。以下是选择 AlmaLinux 作为 CentOS 替代方案的一些原因。CentOS 将于 2024 年 6 月到期。截至 2…

android uinput 按键_android 使用uinput模拟输入设备的方法

在google remote中,android接收端接收socket发来的IR CODE,然后将IR CODE模拟出来发给系统处理,这就是google remote接收端的原理。系统端怎样模拟input event呢?方法一:通过Instrumentation.sendKeyDownUpSync 实现&a…

绩效从C到S,分享渣渣程序员逆袭秘诀!

点击蓝字关注我们因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络,侵删绩效面谈结束,从会议室出来,有一种不真实的感觉——这个季度我竟然拿了S?!要知道,上个…

海贼王为什么画风突变_什么是突变测试?

海贼王为什么画风突变最近,我再三提到突变测试一词。 因为可以说这种方法能够以超出代码覆盖范围的方式检测测试安全网的空白,所以我花了一些时间来追赶这个话题并尝试一下。 这篇文章总结了我的发现,作为对该主题的快速介绍。 什么是变异测…

C语言 #define 与 typedef 的区别与用法

点击蓝字关注我们因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络,侵删在C语言编程中,typedef 和 #define是最常用语句,可能很多工作过几年的工程师都没有去深究过它们的一些用法和区别。typed…