------------------
/plus/diy.php
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-YWan5iNiNzYmZTZlFWN5EzYzUDNxIDZjZGZkFjNyETMyEWOx8CX5AzLchDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL2M3Lc9CX6MHc0RHaiojIsJye.gif)
<?php
/**
*
* 自定義表單
*
* @version $Id: diy.php 1 15:38 2010年7月8日Z tianya $
* @package DedeCMS.Site
* @copyright Copyright (c) 2007 - 2010, DesDev, Inc.
* @license http://help.dedecms.com/usersguide/license.html
* @link http://www.dedecms.com
*/
require_once(dirname(__FILE__)."/../include/common.inc.php");
$diyid = isset($diyid) && is_numeric($diyid) ? $diyid : 0;
$action = isset($action) && in_array($action, array('post', 'list', 'view')) ? $action : 'post';
$id = isset($id) && is_numeric($id) ? $id : 0;
if(empty($diyid))
{
showMsg('非法操作!', 'javascript:;');
exit();
}
require_once DEDEINC.'/diyform.cls.php';
$diy = new diyform($diyid);
/*----------------------------
function Post(){ }
---------------------------*/
if($action == 'post')
{
if(empty($do))
{
$postform = $diy->getForm(true);
include DEDEROOT."/templets/plus/{$diy->postTemplate}";
exit();
}
elseif($do == 2)
{
$dede_fields = empty($dede_fields) ? '' : trim($dede_fields);
$dede_fieldshash = empty($dede_fieldshash) ? '' : trim($dede_fieldshash);
if(!empty($dede_fields))
{
if($dede_fieldshash != md5($dede_fields.$cfg_cookie_encode))
{
showMsg('資料校驗不對,程式傳回', '-1');
exit();
}
}
$diyform = $dsql->getOne("select * from #@__diyforms where diyid='$diyid' ");
if(!is_array($diyform))
{
showmsg('自定義表單不存在', '-1');
exit();
}
$addvar = $addvalue = '';
if(!empty($dede_fields))
{
$fieldarr = explode(';', $dede_fields);
if(is_array($fieldarr))
{
foreach($fieldarr as $field)
{
if($field == '') continue;
$fieldinfo = explode(',', $field);
if($fieldinfo[1] == 'textdata')
{
${$fieldinfo[0]} = FilterSearch(stripslashes(${$fieldinfo[0]}));
${$fieldinfo[0]} = addslashes(${$fieldinfo[0]});
}
else
{
${$fieldinfo[0]} = GetFieldValue(${$fieldinfo[0]}, $fieldinfo[1],0,'add','','diy', $fieldinfo[0]);
}
$addvar .= ', `'.$fieldinfo[0].'`';
$addvalue .= ", '".${$fieldinfo[0]}."'";
}
}
}
//檢測帶http的垃圾資訊
if(preg_match("/(http)/",$addvalue)){
exit("有非法送出");
}
$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); ";
$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); ";
$addvalue_ary = explode(',', $addvalue);
$addvar_ary = array(
0 => '網站送出客戶',
1 => '姓名稱',
2 => '電話',
3 => '裝置使用',
4 => '内容',
5 => '郵箱位址',
);
$text = '';
foreach($addvar_ary as $key=>$value)
{
$text.=$value.': '.$addvalue_ary[$key].'<br>';
}
//用自己的郵件給别人發郵件
$mailmy = '[email protected]'; //接收郵件的人
$mailtitle = "客戶送出表單";
$mailbody = $text;
$headers = $cfg_adminemail;
$mailtype = 'HTML';
require_once(DEDEINC.'/mail.class.php');
$smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
$smtp->debug = false;
$smtp->sendmail($mailmy,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype); //用自己的郵件($cfg_smtp_usermail dede背景系統-基本參數-核心裡寫上我的郵件) 給$mailmy(某個人)發郵件
//用自己的郵件給自己發郵件
$mailtitle = $name."送出表單通知";
$mailbody = "稱呼:{$name}\r\n電話:{$phone}\r\n内容:{$message}";
$headers = $cfg_adminemail;
$mailtype = 'TXT';
require_once(DEDEINC.'/mail.class.php');
$smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
$smtp->debug = false;
$smtp->sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype); //用自己的郵件給自己發郵件
if($dsql->ExecuteNoneQuery($query))
{
$id = $dsql->GetLastID();
if($diy->public == 2)
{
//diy.php?action=view&diyid={$diy->diyid}&id=$id
$goto = "diy.php?action=list&diyid={$diy->diyid}";
$bkmsg = '釋出成功,現在轉向表單清單頁...';
}
else
{
$goto = !empty($cfg_cmspath) ? $cfg_cmspath : '/';
$bkmsg = '釋出成功,請等待管理者處理...';
echo "<script> alert('您的資訊送出成功,客服盡快給您聯系!!'); history.go(-1)</script>";
}
showmsg($bkmsg, -1);
}
}
}
/*----------------------------
function list(){ }
---------------------------*/
else if($action == 'list')
{
if(empty($diy->public))
{
showMsg('背景關閉前台浏覽', 'javascript:;');
exit();
}
include_once DEDEINC.'/datalistcp.class.php';
if($diy->public == 2)
$query = "SELECT * FROM `{$diy->table}` ORDER BY id DESC";
else
$query = "SELECT * FROM `{$diy->table}` WHERE ifcheck=1 ORDER BY id DESC";
$datalist = new DataListCP();
$datalist->pageSize = 10;
$datalist->SetParameter('action', 'list');
$datalist->SetParameter('diyid', $diyid);
$datalist->SetTemplate(DEDEINC."/../templets/plus/{$diy->listTemplate}");
$datalist->SetSource($query);
$fieldlist = $diy->getFieldList();
$datalist->Display();
}
else if($action == 'view')
{
if(empty($diy->public))
{
showMsg('背景關閉前台浏覽' , 'javascript:;');
exit();
}
if(empty($id))
{
showMsg('非法操作!未指定id', 'javascript:;');
exit();
}
if($diy->public == 2)
{
$query = "SELECT * FROM {$diy->table} WHERE id='$id' ";
}
else
{
$query = "SELECT * FROM {$diy->table} WHERE id='$id' AND ifcheck=1";
}
$row = $dsql->GetOne($query);
if(!is_array($row))
{
showmsg('你通路的記錄不存在或未經稽核', '-1');
exit();
}
$fieldlist = $diy->getFieldList();
include DEDEROOT."/templets/plus/{$diy->viewTemplate}";
}
View Code
------------
系統-》基本參數-》核心
下面這裡有用
同時登陸自己的郵箱 設定開啟smtp服務