[MarsZ]ThinkPHP项目实战总结,marszthinkphp
本文原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/
下载地址
http://www.xampps.com/xampp.zip (必备)
教程
安装方法:下载安装包后一键安装模式,傻瓜式,没有需要解释的
ThinkPHP
官网
http://www.thinkphp.cn/
项目所用版本
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
格式:
相等
不相等
例子:
数据读取
参考:
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框架如何进行同框架页面跳转(转)
参考:
http://zhidao.baidu.com/link?url=PUHDL2v52ijVYv9bM19xgUG4ECpL9sKMla3ZaiRb_DQS5Yz4R5NaczOJ5bTqPcS6xezemagBcM0kRexND4bI2a
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;//注意数据库名字不要加引号

세션 고정 공격을 방지하는 효과적인 방법은 다음과 같습니다. 1. 사용자 로그인 한 후 세션 ID 재생; 2. 보안 세션 ID 생성 알고리즘을 사용하십시오. 3. 세션 시간 초과 메커니즘을 구현하십시오. 4. HTTPS를 사용한 세션 데이터를 암호화합니다. 이러한 조치는 세션 고정 공격에 직면 할 때 응용 프로그램이 파괴 할 수 없도록 할 수 있습니다.

서버 측 세션 스토리지가없는 토큰에 저장되는 토큰 기반 인증 시스템 인 JSONWEBTOKENS (JWT)를 사용하여 세션없는 인증 구현을 수행 할 수 있습니다. 1) JWT를 사용하여 토큰을 생성하고 검증하십시오. 2) HTTPS가 토큰이 가로 채지 못하도록하는 데 사용되도록, 3) 클라이언트 측의 토큰을 안전하게 저장, 4) 변조 방지를 방지하기 위해 서버 측의 토큰을 확인하기 위해 단기 접근 메커니즘 및 장기 상쾌한 토큰을 구현하십시오.

PHP 세션의 보안 위험에는 주로 세션 납치, 세션 고정, 세션 예측 및 세션 중독이 포함됩니다. 1. HTTPS를 사용하고 쿠키를 보호하여 세션 납치를 방지 할 수 있습니다. 2. 사용자가 로그인하기 전에 세션 ID를 재생하여 세션 고정을 피할 수 있습니다. 3. 세션 예측은 세션 ID의 무작위성과 예측 불가능 성을 보장해야합니다. 4. 세션 중독 데이터를 확인하고 필터링하여 세션 중독을 방지 할 수 있습니다.

PHP 세션을 파괴하려면 먼저 세션을 시작한 다음 데이터를 지우고 세션 파일을 파괴해야합니다. 1. 세션을 시작하려면 세션 _start ()를 사용하십시오. 2. Session_Unset ()을 사용하여 세션 데이터를 지우십시오. 3. 마지막으로 Session_Destroy ()를 사용하여 세션 파일을 파괴하여 데이터 보안 및 리소스 릴리스를 보장하십시오.

PHP의 기본 세션 저장 경로를 변경하는 방법은 무엇입니까? 다음 단계를 통해 달성 할 수 있습니다. session_save_path를 사용하십시오 ( '/var/www/sessions'); session_start (); PHP 스크립트에서 세션 저장 경로를 설정합니다. php.ini 파일에서 세션을 설정하여 세션 저장 경로를 전 세계적으로 변경하려면 세션을 설정하십시오. memcached 또는 redis를 사용하여 ini_set ( 'session.save_handler', 'memcached')과 같은 세션 데이터를 저장합니다. ini_set (

tomodifyDatainAphPessess, startSessionstession_start (), 그런 다음 $ _sessionToset, modify, orremovevariables.

배열은 PHP 세션에 저장할 수 있습니다. 1. 세션을 시작하고 session_start ()를 사용하십시오. 2. 배열을 만들고 $ _session에 저장하십시오. 3. $ _session을 통해 배열을 검색하십시오. 4. 세션 데이터를 최적화하여 성능을 향상시킵니다.

PHP 세션 쓰레기 수집은 만료 된 세션 데이터를 정리하기위한 확률 메커니즘을 통해 트리거됩니다. 1) 구성 파일에서 트리거 확률 및 세션 수명주기를 설정합니다. 2) CRON 작업을 사용하여 고재 응용 프로그램을 최적화 할 수 있습니다. 3) 데이터 손실을 피하기 위해 쓰레기 수집 빈도 및 성능의 균형을 맞춰야합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
