1.项目需要提交表单
2.表单在哪里设置呢……发现后台频道模型中有个自定义表单……
(自定义表单太麻烦了,唯一的好处就是用来添加字段及管理提交信息)
列表模板、内容模板、发布模板……感觉跟项目修改起来太麻烦了(因为要写整个页面,而项目中这个页面还有其它模块化部分,比如产品列表等,所以俺就直接放在templets/default/下面了……)
如果你的表单页不是太复杂的话,建议直接修改DEDE自带的模板
最后的结果如下
<?php header("Content-type:text/html;charset=utf-8"); if($_POST['code']!='fek'){ header("Location:index.html"); exit; }else{ checkPost($_POST['username'],'姓名不能为空!'); checkPost($_POST['content'],'留言内容不能为空'); checkPost($_POST['email'],'电子邮箱不能为空!','/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/','电子邮箱格式错误'); foreach($_POST as $key=>$value){ $_POST[$key]=htmlspecialchars($value,ENT_QUOTES); } $query = "INSERT INTO 表名(`id`, `username` ,`tel`,`fax`,`msn`,`email`,`content`) VALUES (NULL,'".$_POST['username']."','".$_POST['tel']."','".$_POST['fax']."','".$_POST['msn']."', '".$_POST['email']."','".$_POST['content']."')"; /* 测试用的 echo '<pre>'; print_r($_POST); echo '</pre>'; echo $query;*/ require_once(dirname(__FILE__)."/include/common.inc.php"); if($dsql->ExecuteNoneQuery2($query)) { $id = $dsql->GetLastID(); if($id!=0) { $goto = "index.html"; $bkmsg = '发布成功,请等待管理员处理...'; } else { $goto = 'index.html'; $bkmsg = '很遗憾,发布失败了!'; } showmsg($bkmsg, $goto); } } function checkPost($arg,$info,$pattern=null,$errorpatterinfo=null){ if(empty($pattern) && empty($arg)){ echo '<script type="text/javascript">alert("'.$info.'");history.back();</script>'; exit; } if(!empty($pattern) && !preg_match ($pattern, $arg)){ echo '<script type="text/javascript">alert("'.$errorpatterinfo.'");history.back();</script>'; } } ?>表单信息
<form onsubmit="return proform()" class="feedbackform" action="../feedbackpro.php" method="post"> ..</form>JS常用验证脚本
function proform(){ content=document.getElementById("content").value; if(content==''){ alert("留言内容不能为空"); return false; } username=document.getElementById("username").value; if(username==''){ alert("姓名不能为空"); return false; } var tel=document.getElementById("tel").value; if(tel!=''){ var pattern = /^\d{8,}$/; if(!tel.match(pattern)){ alert("电话号码只能为数字,并且不能少于8位"); return false; } } var mail=document.getElementById("email").value; var pattern = /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/; if(!mail.match(pattern)){ alert("电子邮箱格式不正确"); return false; } }其它正则表达式
用户名 /^[a-z0-9_-]{3,16}$/ 密码 /^[a-z0-9_-]{6,18}$/ 十六进制值 /^#?([a-f0-9]{6}|[a-f0-9]{3})$/ 电子邮箱 /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/ /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/ URL /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ IP 地址 /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/ /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ HTML 标签 /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/ 删除代码\\注释 (?<!http:|\S)//.*$ Unicode编码中的汉字范围 /^[\u2E80-\u9FFF]+$/
相关推荐
dede的自定义表单展现形式不好看,现在改为列表形式的,同时点击详情的时候显示未填写的栏目,覆盖即可
DEDE自定义表单加验证码功能+js必填项
dede二次开发自定义表单diy.php增加一段判断语句 下载后 覆盖plus\diy.php 2. 表单模板中加入 <input type="hidden" name="required" value="必填字段1,必填字段2" />
dede自定义表单提交后的提示信息改弹窗提示并停留在当前页-附件资源
dede解决seo的自定义文章名称的url问题
织梦自定义sql查询,sql标签查询自定义,用于任何模板
dede服饰自适应表单系统欢迎下载体验,可直接线下测试
一个对做图片站有帮助的图片放大效果组件,很方便使用
如何在织梦列表页联动自定义的联动类型? 是不是听着很拗口。 通俗地说:就是在列表页中调用自定义的联动类型。
{dede:loop table='dede_archives' sort='' row='4' if=''} <li><a href='[field:id function=IDReturnURL(@me)/]'>[field:title function=cn_substrR(@me,44)/]</a></li> {/dede:loop} 自定义函数列表########...
dede表单提交pc手机端自适应代码,服装行业案例实测欢迎下载测试
dede标签大全_dede标签生成工具,DEDE仿站利器
DEDE淘宝插件DEDE淘宝插件DEDE淘宝插件DEDDEDE淘宝插件E淘宝插件
dede二次开发教程之常用模板标签.doc
织梦添加自定义属性,织梦自定义属性方便织梦调取合适的内容
delphi dede.5 delphi dede.5 delphi dede.5
想二次开发dede,拓展功能。自己在网上找了好多的帮助文档,感觉都不是很好。所以决定自己写个得的插件帮助教程。希望对大家有所帮助。
DEDE开发:DEDE栏目添加图片,简单方便仅需两步! 图集,相册封皮都可以用到!方便新手使用!
DeDe3.50.04 Fix加强版 01.修改了Title和ClassName "DeDe"->"DarK",绝大部分的Anti检测都没有用了 02.DIY原DEDE,使得可以反汇编得到非标准程序的Forms格式和Procedures的事件 03.直接反汇编功能的选项 04.增加对特殊...