在这里给大家举个例子操作流程如下
- 文件结构如下:
enroll.php文件在 plus文件下
enroll.htm文件在templets/plus 文件夹下
adenroll.php文件在dede文件夹下
adenroll.html文件dede/templet文件夹下
- 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 ;INSERT INTO `dede_plus` (`aid`, `plusname`, `menustring`, `mainurl`, `writer`, `isshow`, `filelist`) VALUES(30, '网上报名', '<m:item name=''网上报名'' link=''adenroll.php'' rank=''plus_网上报名'' target=''main'' />', '', 'g1000', 1, '');
设置了 两个字段 姓名和邮箱 tag字段是标示是否录取 1为录取
第一个insert语句是添加到后台管理
第二个insert语句是添加到前台导航栏
- enroll.php文件代码:
<?php//*******要先包含common.inc.php 然后 session_start(); 否则取不到session的值//*******因为common.inc.php 有关于session路径的配置include_once dirname(__FILE__).'./../include/common.inc.php';//包含配置文件session_start();require_once DEDEINC."/arc.partview.class.php";//包含partiew类//*****实例化 这个类的作用是得到头部导航栏和尾部信息 若不需要可以使用dedetemplate.class.php 这个类$pv = new PartView();if($_POST){if( CheckEmail($_POST['mail'])==false){//验证邮箱 方法在common.func.php 公用函数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]')";//********$db可直接使用 系统自动实例化了dedesql.class.php$affected = $db->ExecuteNoneQuery2($sql);//执行一条语句 返回影响值if($affected){ShowMsg('报名成功',-1);}}else{$pv->SetTemplet(DEDETEMPLATE.'/plus/enroll.htm');//设置模板$pv->Display();//显示页面}?>
- enroll.htm文件代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>"><head><title>{dede:global.cfg_webname/}-在线报名</title><link href="{dede:global.cfg_templeturl/}/style/dedecms.css" rel="stylesheet" media="screen" type="text/css" /></script></head><body>{dede:include filename="../default/head.htm"/}<!-- 包含头部 --><blockquote style="margin:50px auto" ><form method="post" action="">姓 名:<input type="text" size=30 name="name" />邮 箱:<input type="text" size=30 name="mail" /><!--vdimgck.php 是验证码-->验证码:<input type="text" name="validation" /><img src="../../include/vdimgck.php" /><input name="encoll" type="submit" value="报名" /></form></blockquote>{dede:include filename="../default/footer.htm"/}<!-- 包含尾部 --></body></html>
- adenroll.php文件代码:
<?phprequire_once(dirname(__FILE__).'/config.php');//后台配置文件 检查登陆 配置信息require_once(DEDEINC."/datalistcp.class.php");//包含分页类if($_GET['action']&&$_GET['id']){if($_GET['action']=='pass'){//各种操作$db->ExecuteNoneQuery("update cms_enroll set `tag`=1 where id='$_GET[id]'");ShowMsg('录取成功','adenroll.php');}if($_GET['action']=='nopass'){$db->ExecuteNoneQuery("update cms_enroll set `tag`=0 where id='$_GET[id]'");ShowMsg('取消录取','adenroll.php');}if($_GET['action']=='delete'){$db->ExecuteNoneQuery("delete from cms_enroll where id='$_GET[id]'");ShowMsg('删除成功','adenroll.php');}}else{$dl = new DataListCP();$dl->pageSize = 10;//每页显示10条$dl->SetTemplate('./templets/adenroll.htm');//载入模板$sql="select * from cms_enroll";$dl->SetSource($sql);//执行sql 不能与$dl->SetTemplate 颠倒$dl->Display();//显示页面}?>
- adenroll.html文件代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>"><head><title>在线报名管理</title><link href='img/base.css' rel='stylesheet' type='text/css' /><style type="text/css">th,td{text-align:center;border:1px #D1DDAA solid;font-size:15px;}th{background:#E6F8B7;}table{margin-top:20px;}</style></head><body><table width="90%" border="0" cellpadding="0" cellspacing="0" align="center"><tr><th>姓名</th><th>E-mail</th><th>状态</th><th>操作</th></tr><!-- 循环得到结果 -->{dede:datalist}<tr><td>{dede:field.name /}</td><td>{dede:field.mail /}</td><td>{dede:if field.tag==0}未录取{else}<font color="red">已录取</font>{/dede:if}</td><td> <a href="adenroll.php?action=pass&id={dede:field.id /}">[录取]</a>|<a href="adenroll.php?action=nopass&id={dede:field.id /}">[不通过]</a>|<a href="adenroll.php?action=delete&id={dede:field.id /}">[删除]</a></td></tr>{/dede:datalist}</table><!-- 分页标签 --><p style="text-align:center;font-size:15px;">{dede:pagelist listitem="info,index,end,pre,next,pageno" listsize="5"/}</p></body></html>