Heim  >  Artikel  >  php教程  >  此文件时入口文件index.php

此文件时入口文件index.php

WBOY
WBOYOriginal
2016-06-08 08:47:482250Durchsuche

此文件时入口文件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'

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn