织梦的自定义表单功能很好用。下面讲解如何利用织梦自定义表单自动获取用户IP、提交时间、留言页面,并转发邮箱。
第一步,在织梦后台新建自定义表单。并添加字段:uname(姓名)、utel(电话)、uip(用户IP)、utime(留言时间)、ymurl(留言页面)。
第二步,打开plus/diy.php,在第69行找到:
if($fieldinfo[1] == 'textdata')
{
${$fieldinfo[0]} = FilterSearch(stripslashes(${$fieldinfo[0]}));
${$fieldinfo[0]} = addslashes(${$fieldinfo[0]});
}
在它的下面加入下面的代码:
if($fieldinfo[0] == 'uip'){
${$fieldinfo[0]}=GetIP();//获取用户IP
}
if($fieldinfo[0] == 'utime'){
${$fieldinfo[0]}=date("Y-m-d H:i:s");//获取留言时间
}
if($fieldinfo[0] == 'ymurl'){${$fieldinfo[0]}=$_SERVER['HTTP_REFERER'];}//获取留言页面
第三步,实现转发邮箱(推荐使用QQ邮箱,因为收到邮件会有提醒)
1、邮箱必须开通SMTP,开通方法:邮箱设置--账户--
2、复制“IMAP/SMTP服务”这一项生成的服务码。
3、进入织梦后台--系统基本参数--核心设置,填写下面几项:
其中,SMTP服务器的用户密码,粘贴刚才复制的QQ邮箱设置里的服务码。
4、回到plus/diy.php,在第96行找到:$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); ";
在下面粘贴下面的代码:
$mailtitle = "【您收到一条用户留言,请注意查收!】";//邮件标题
$mailbody = "称呼:{$uname}\r\n电话:{$utel}\r\nIP:{$uip}\r\n时间:{$utime}\r\n页面:{$ymurl}\r\n";//$name中name是该input元素的id号
$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服务
$smtp->debug = false;//不起用调试
$smtp->sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);//发送邮件
完成。
测试效果如下:
不会设置的朋友,可添加本人QQ864314833
织梦自定义表单自动获取用户IP、提交时间、留言页面,并转发邮箱:目前有86条评论