`
ljl_xyf
  • 浏览: 617688 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

DEDE自定义表单

 
阅读更多

1.项目需要提交表单



 
2.表单在哪里设置呢……发现后台频道模型中有个自定义表单……
(自定义表单太麻烦了,唯一的好处就是用来添加字段及管理提交信息)


 
列表模板、内容模板、发布模板……感觉跟项目修改起来太麻烦了(因为要写整个页面,而项目中这个页面还有其它模块化部分,比如产品列表等,所以俺就直接放在templets/default/下面了……)
如果你的表单页不是太复杂的话,建议直接修改DEDE自带的模板
添加完字段后,仿照/plus/diy.php下面的代码,自已将表单信息提交到数据库……


 
 

最后的结果如下



 
<?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]+$/ 
 
 
 
 
 
 
 
  • 大小: 32.9 KB
  • 大小: 52.2 KB
  • 大小: 56.7 KB
  • 大小: 33.9 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics