### 一、文件结构
| 文件名 | 路径 |
| | |
| enroll.php | plus/ |
| enroll.htm | templets/plus/ |
| adenroll.php | dede/ |
| adenroll.html | dede/templets/ |
### 二、数据库创建与配置
1. **数据库表创建
“`sql
CREATE TABLE IF NOT EXISTS `dede_enroll` (
`id` int(4) NOT NULL auto_increment,
`name` varchar(20) NOT NULL,
`mail` varchar(30) NOT NULL,
`tag` tinyint(1) NOT NULL default ‘0’,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
“`
2. **后台管理配置
“`sql
INSERT INTO `dede_plus` (`aid`, `plusname`, `menustring`, `mainurl`, `writer`, `isshow`, `filelist`) VALUES
(30, ‘网上报名’, ‘
“`
### 三、主要文件详解
#### 1. enroll.php
**配置文件和会话启动**:
“`php
include_once dirname(__FILE__).’./../include/common.inc.php’; //包含配置文件
session_start(); //启动会话
require_once DEDEINC.”/arc.partview.class.php”; //包含partiew类
“`
**实例化类并处理表单提交**:
“`php
$pv = new PartView();
if($_POST){
if( CheckEmail($_POST[‘mail’])==false){ //验证邮箱
ShowMsg(‘邮箱格式错误’,’1′);
exit();
}
if($_POST[‘name’]==””){
ShowMsg(‘用户名不能为空’,’1′);
exit();
}else{
$name=htmlspecialchars($_POST[‘name’]);
}
if($_SESSION[‘dd_ckstr’]!=strtolower($_POST[‘validation’])){ //验证验证码
ShowMsg(‘验证码错误’,1);
exit();
}
$sql=”insert into `cms_enroll`(name,mail) values(‘$name’,’$_POST[mail]’)”;
$affected = $db>ExecuteNoneQuery2($sql);
if($affected){
ShowMsg(‘报名成功’,1);
}
}else{
$pv>SetTemplet(DEDETEMPLATE.’/plus/enroll.htm’);
$pv>Display();
?>
“`
#### 2. enroll.htm
“`html
{dede:include filename=”../default/footer.htm”/}