javascript - 通过表单提交电子邮件后,如何获取电子邮件的日期/时间?
问题描述
我正在学习如何编码,并且正在设置一个带有表单的网页,以便用户可以直接通过我的电子邮件地址与我联系。目前这是我在电子邮件中收到的内容:
Firstname: test,
Name: test,
Email: test@gmail.com,
Phone: 0000000000,
Message: test
我想获得提交的日期/时间,如果可能的话,请提及已同意的 optin:
Firstname: test,
Name: test,
Email: test@gmail.com,
Phone: 0000000000,
Message: test ,
date: xx/xx/xx,
time: xx:xx,
Consent: Acceptance of use of data
在我的contact.php 我有这个
<?php
$array = array("firstname" => "", "name" => "", "email" => "", "phone" => "", "message" => "", "firstnameError" => "", "nameError" => "", "emailError" => "", "phoneError" => "", "messageError" => "", "isSuccess" => false);
$emailTo = "myemail@gmail.com";
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$array["firstname"] = test_input($_POST["firstname"]);
$array["name"] = test_input($_POST["name"]);
$array["email"] = test_input($_POST["email"]);
$array["phone"] = test_input($_POST["phone"]);
$array["message"] = test_input($_POST["message"]);
$array["isSuccess"] = true;
$emailText = "";
if (empty($array["firstname"]))
{
$array["firstnameError"] = "Il manque votre prénom";
$array["isSuccess"] = false;
}
else
{
$emailText .= "Firstname: {$array['firstname']}\n";
}
if (empty($array["name"]))
{
$array["nameError"] = "Il manque votre nom";
$array["isSuccess"] = false;
}
else
{
$emailText .= "Name: {$array['name']}\n";
}
if(!isEmail($array["email"]))
{
$array["emailError"] = "Ceci n'est pas un email";
$array["isSuccess"] = false;
}
else
{
$emailText .= "Email: {$array['email']}\n";
}
if (!isPhone($array["phone"]))
{
$array["phoneError"] = "Que des chiffres et des espaces, svp...";
$array["isSuccess"] = false;
}
else
{
$emailText .= "Phone: {$array['phone']}\n";
}
if (empty($array["message"]))
{
$array["messageError"] = "Quel est votre message?";
$array["isSuccess"] = false;
}
else
{
$emailText .= "Message: {$array['message']}\n";
}
if($array["isSuccess"])
{
$headers = "From: {$array['firstname']} {$array['name']} <{$array['email']}>\r\nReply-To: {$array['email']}";
mail($emailTo, "Un message de votre site", $emailText, $headers);
}
echo json_encode($array);
}
function isEmail($email)
{
return filter_var($email, FILTER_VALIDATE_EMAIL);
}
function isPhone($phone)
{
return preg_match("/^[0-9 ]*$/",$phone);
}
function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
在我的 js 文件中,我有这个
$(function() {
$('#contact-form').submit(function(e) {
e.preventDefault();
var mention = document.getElementById('verif').checked;
if (!mention ) {
console.log(mention);
$("#error").html("<p class='thank-you alert-danger'> Merci d'accepter les conditions</p>")
return false;
}else{
$("#error").empty();
}
$('.comments').empty();
var postdata = $('#contact-form').serialize()
$.ajax({
type:'POST',
url:'php/contact.php',
data: postdata,
dataType: 'json',
success: function(result) {
if(result.isSuccess)
{
$("#contact-form").append("<p class='thank-you'> Votre message a bien été envoyé. Merci de m'avoir contacté </p>")
$("#contact-form")[0].reset();
}
else
{
$("#firstname + .comments").html(result.firstnameError);
$("#name + .comments").html(result.nameError);
$("#email + .comments").html(result.emailError);
$("#phone + .comments").html(result.phoneError);
$("#message + .comments").html(result.messageError);
}
}
});
});
})
解决方案
这会将“提及”传递给您的 PHP。但是你不需要通过它,因为如果他们可以提交表单,那就意味着他们已经检查过了。
var postdata = $('#contact-form').serialize() + '&mention=' + mention;
这会将“日期时间”和“同意”附加到您的电子邮件消息的末尾。日期时间是您将服务器时区设置为的任何值。您可以在 PHP 文档中阅读有关日期和时区的更多信息:https ://www.php.net/manual/en/function.date.php
if($array["isSuccess"])
{
$emailText .= "Datetime: " . date('Y-m-d H:i:s') . "\n";
$emailText .= "Consent: Acceptance of use of data\n";
$headers = "From: {$array['firstname']} {$array['name']} <{$array['email']}>\r\nReply-To: {$array['email']}";
mail($emailTo, "Un message de votre site", $emailText, $headers);
}
推荐阅读
- android - MPAndroid 图表。如何在单个图表上使用具有不同数据类型的数据集?
- python - Python cv2.imshow() 因中止陷阱而崩溃:6
- jquery-select2 - 多选上的非转义 select2 占位符
- typescript - Typescript 根据接口名称创建对象?
- mongodb - 如何使用 $geoNear 在两个不同的子值中返回距离
- wordpress - Wordpress Pemalinks 不能与 Varnish 一起使用
- p2p - 聊天应用程序,点对点通信
- python - 需要重置整个postgres数据库,想备份数据库中的一个表
- raku - 检查用变量制作的正则表达式
- ios - 请指出正确的方向以了解如何在 iOS 后台运行