>php教程 >php手册 >此文件时入口文件index.php

此文件时入口文件index.php

WBOY
WBOY원래의
2016-06-08 08:47:482296검색

此文件时入口文件index.php

 

<?php //定义一下ThinkPHP框架存放的路径
define('THINK_PATH','./ThinkPHP/');

//定义当前的项目的名称,此处的项目可理解为模块home理解为前台部分
define('APP_NAME','protal');
 
//定义项目的路径            
define('APP_PATH','./protal/');

define('APP_DEBUG', true);

require THINK_PATH.'ThinkPHP.php';



conf/config.php 

<?php //包含定义配置数据库连接的配置文件
$dbConf=include './config.inc.php';

//定义项目本身常规配置
$Conf=array(
	//'配置项'=>'配置值'

	'URL_MODEL'=>2,//2表示是URL重写模式
		
);
return array_merge($dbConf,$Conf);

?>


 

 

 

 

与入口文件同级的有一个配置文件config.inc.php

 

 

<?php return array(
	//'配置项'=>'配置值'
		'DB_TYPE'=>'mysql',
		
		'DB_HOST'=>'localhost',
		//数据库名
		'DB_NAME'=>'think',
		//数据库用户
		'DB_USER'=>'root',
		//数据库密码
		'DB_PWD'=>'',
		//数据库端口
		'DB_PORT'=>'3306',
		//表前缀
		'DB_PREFIX'=>'t_',
		
)	
?>


控制器IndexAction.class.php

 

<?php // 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
    public function index(){
        header("Content-Type:text/html; charset=utf-8");
		$this->display("reg");
    }

	function add(){
	
		
		
	 	if(md5($_POST['verify'])!=$_SESSION['verify']){
			
			$this->error("验证码错误");
		} 
		
		
		//实例化自定义模型  M('User')实例化基础模型
		$user=D("User");
			
			if($user->create()){
				
				
					//执行插入操作,执行成功后,返回新插入的数据库的ID
					 if($user->add()){
						
						$this->success("注册成功");
					}else{
						
						$this->error("注册失败");	
					} 
				
			
			
			}else{
				//把错误信息提示给用户看

				
				
				$this->error($user->getError());

			
			}
		
	}
	
	
	//生成图片验证码
	function verify(){
	/**
	 * 在thinkPHP中如何实现验证码
	 * 
	 * ThinkPHP已经为我们提供了图像处理的类库ThinkPHP\Extend\...
	 * 
	 * 如何导入类库?
	 * 导入类库用"import(文件路径)来导入,但是注意文件的路径中的\要替换成 . 号"
	 * 1)导入系统的类库  import(从library开始算起) import('ORG.Util.Image')注意大小写
	 * 2)导入项目类库 import("@.ORG.Image") 我们需要在我恩的项目的Lib目录中存放	
	 */	
		//导入图形处理类库
		import("ORG.Util.Image");
		
			
		//import("@.ORG.Image");
		
		
		//生成图形验证码
		/*
	    length:验证码的长度,默认为4位数

		mode:验证字符串的类型,默认为数字,其他支持类型有0 字母 1 数字 2 大写字母 3 小写字母 4中文 5混合(去掉了容易混淆的字符oOLl和数字01)

		type:验证码的图片类型,默认为png 

		width:验证码的宽度,默认会自动根据验证码长度自动计算

		height:验证码的高度,默认为22

		verifyName:验证码的SESSION记录名称,默认为verify

		  
		 */
		//实现英文验证码
		image::buildImageVerify(4,1,'gif',60,22,'verify');
		
		
		//实现中文验证码
		//image::GBVerify();
	}

	
	

}


 

 模型UserModel.class.php

 

<?php class UserModel extends Model{

	//自动验证
	protected $_validate=array(
			//每个字段的详细验证内容
			array("username","require","用户名不能为空"),
			array("username","checkLength","用户名长度不符合要求",0,'callback'),
			array("password","require","密码不能为空"),
			array("password","checkLength","密码长度的要求是5~15位之间",0,'callback'),
			array("password","repassword","两次密码输入不一致",0,'confirm'),
			array("qq","require","qq必须填写"),
			
				
			//array("cdate","require","时间不能为空",callback),
				
			);
	
	
	//自动填充
	protected $_auto=array(
			
			array("password","md5",3,'function'),
			array("cdate","shijian",3,'callback'),
			array("dizhi","getIp",3,'callback'),
				
			);
	
	
	
	
	
	
	
	
		//自定义验证方法,来验证用户名的长度是否合法
		//$date形参  可以写成任意如 $AA  $bb
		function checkLength($data){
			//$data里存放的就是要验证的用户输入的字符串
			if(strlen($data)<5||strlen($data)>15){
				
				return false;
			}else{
				
				return true;
			}
			
			
		}
	

		
		//返回访问者的IP地址
		function getIp(){
			
			return $_SERVER['REMOTE_ADDR'];
		}
	
		function shijian(){
				
			return date("Y-m-d H:i:s");
		}
	
	
	
}


 

 模板reg.html

 



<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>注册</title>


	

请认真填写以下注册信息

用户名:
密码:
确认密码:
QQ:
验证码: 验证码看不清楚
<script> function show(){ document.getElementById("verify").src="__URL__/verify/random"+Math.random(); } </script>


 

 

如果还有不明白的地方,可以给我留言,我会详细解答您留下的问题,谢谢关注

 

 

 

 

 

目录结构如下

 

TP

--------ThinkPHP  文件夹

--------protal.php  这个文件叫protal.php

 

当运行protal.php时,会出现ThinkPHP的欢迎页面,证明已经配置成功,同时目录结果会发生变化

此时的目录为

 

TP

--------ThinkPHP  文件夹

--------protal.php  入口文件(上边那个文件)

--------protal 文件夹

 

 

生成的项目目录结构和系统目录类似,包括:

 

Common

项目公共文件目录,一般放置项目的公共函数

Conf

项目配置目录,项目所有的配置文件都放在这里

Lang

项目语言包目录(可选 如果不需要多语言支持 可删除)

Lib

项目类库目录,通常包括Action和Model子目录

Tpl

项目模板目录,支持模板主题

Runtime

项目运行时目录,包括Cache(模板缓存)、Temp(数据缓存)、Data(数据目录)和Logs(日志文件)子目录,如果存在分组的话,则首先是分组目录。

 

 

 

 

 

 

mysql> SELECT FROM_UNIXTIME(875996580);

        -> '1997-10-04 22:23:00'

 

 

mysql> SELECT UNIXTIME_TIMESTAMP('1997-10-04 22:23:00');

        -> '875996580'

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.