1,表单过滤
function deepspecialchars($data){
if(empty($data)){
return $data;
}
return is_array($data) ? array_map('deepspecialchars',$data) : htmlspecialchars($data);
}
2,数据库实例(记录发送邮件部分讯息)。
3,邮件对象实例(网上下载pear扩展中的邮件扩展)。
附:<?php
/*
* @auth Major General
* @content 页面展示、信息收集以及邮件发送
* @time 2016-06-27
*/
include_once "config.inc.php";
include_once "functions.php";
$time = time();
$today_time = strtotime(date('Y-m-d',$time));
$er_time = $today_time+24*3600;
$post = deepspecialchars($_POST);
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] && strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], 'unknown')){
$ip = ip2long($_SERVER['HTTP_X_FORWARDED_FOR']);
}elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$ip = ip2long($_SERVER['REMOTE_ADDR']);
}
$sql = "select id from improv where client_ip = ".$ip." and submit_time between ".$today_time." and ".$er_time;
$beal = $mysqli->getOne($sql);
if($beal){
$status = 201;
$message = '一天只能提交一次';
echo json_encode(array('status'=>$status,'message'=>$message));
}else{
$data = array(
'company'=>$post['company'],
'position'=>$post['job'],
'custom_time'=>$post['date'],
'training'=>$post['zhineng'],
'budget'=>$post['fanwei'],
'persons'=>$post['perNum'],
'remarks'=>$post['a'],
'client_ip'=>$ip,
'submit_time'=>$time
);
$insert_beal = $mysqli->insert($data,'improv');
if($insert_beal){
$mail = new clsEmail();
$email = 'www.375666572@qq.com';
$code = 123456;
$username = 'MajorGeneral';
$mail->selectTemplate('sendCode.html');
$mail->mailBody = str_replace('{@code}', $code, $mail->mailBody);
$mail->mailBody = str_replace('{@username}', $username, $mail->mailBody);
//发送邮件
$subject = '开心果 验证码'; //邮件标题
try {
if($mail->sendEMail($email, $username,$subject)){
$status = 200;
$message = '邮件发送成功';
echo json_encode(array('status'=>$status,'message'=>$message));
}else{
$status = 201;
$message = '邮件发送失败1';
echo json_encode(array('status'=>$status,'message'=>$message));
}
} catch (Exception $e) {
$status = 201;
$message = '邮件发送失败2';
echo json_encode(array('status'=>$status,'message'=>$message));
}
}else{
$status = 201;
$message = '数据添加失败';
echo json_encode(array('status'=>$status,'message'=>$message));
}
}
?>