Javascript 用户单击submit后,页面转到php文件。它如何保留在HTML文件中并将表单信息提交到电子邮件?
我是PHP的初学者,正在编写一个联系人表单 选择提交按钮后,不会显示响应消息。该页面将转到PHP文件,电子邮件将永远不会发送。此外,不会显示任何错误消息 我正在使用validate.js和Jquery form.js。 以下是一个参考链接: 联系人表单的样式与上的样式类似(单击在站点上获取报价) HTML:Javascript 用户单击submit后,页面转到php文件。它如何保留在HTML文件中并将表单信息提交到电子邮件?,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我是PHP的初学者,正在编写一个联系人表单 选择提交按钮后,不会显示响应消息。该页面将转到PHP文件,电子邮件将永远不会发送。此外,不会显示任何错误消息 我正在使用validate.js和Jquery form.js。 以下是一个参考链接: 联系人表单的样式与上的样式类似(单击在站点上获取报价) HTML: --选择主题-- 消息 Javascript: $('#contactform').validate({ // Specify what the errors should look l
--选择主题--
消息
Javascript:
$('#contactform').validate({
// Specify what the errors should look like
// when they are dynamically added to the form
errorElement: "input",
errorPlacement: function(error, element) {
error.insertBefore( element.parent().parent() );
error.wrap("<input class='ErrorField'></input>");
},
// Add requirements to each of the fields
rules: {
overlay_name: {
required: true,
minlength: 3
},
overaly_name2:{
required:true,
minlength:3
},
overlay_email: {
required: true,
email: true
},
overlay_telephone:{
required:true,
minlength:10,
expression: "if (VAL != 'Phone') return true; else return false;",
},
overlay_message: {
required: true,
minlength: 10
}
},
// Specify what error messages to display
// when the user does something horrid
messages: {
overlaye_name: {
required: "Please enter your name.",
minlength: jQuery.format("At least {0} characters required.")
},
overlaye_name2: {
required: "Please enter your last name.",
minlength: jQuery.format("At least {0} characters required.")
},
overlay_email: {
required: "Please enter your email.",
email: "Please enter a valid email."
},
overlay_telephone:{
required:"Please enter telephone number.",
phone:"Please enter valid number."
},
overlay_message: {
required: "Please enter a message.",
minlength: jQuery.format("At least {0} characters required.")
}
},
// Use Ajax to send everything to processForm.php
submitHandler: function(form) {
$("#send").attr("value", "Sending...");
$(form).ajaxSubmit({
target: "#response",
success: function(responseText, statusText, xhr, $form) {
$("#response").html(responseText).hide().slideDown("fast");
}
});
return false;
}
});
$('contactform')。验证({
//指定错误的外观
//当它们被动态添加到表单中时
errorElement:“输入”,
errorPlacement:函数(错误,元素){
错误.insertBefore(element.parent().parent());
错误。换行(“”);
},
//向每个字段添加需求
规则:{
覆盖单元名称:{
要求:正确,
最小长度:3
},
总体名称2:{
要求:正确,
最小长度:3
},
电子邮件:{
要求:正确,
电子邮件:真的
},
电话:{
要求:正确,
最小长度:10,
表达式:“if(VAL!=“Phone”)返回true;else返回false;”,
},
叠加信息:{
要求:正确,
最小长度:10
}
},
//指定要显示的错误消息
//当用户做了一些可怕的事情时
信息:{
覆盖层名称:{
必填:“请输入您的姓名。”,
minlength:jQuery.format(“至少需要{0}个字符。”)
},
覆盖层名称2:{
必填:“请输入您的姓氏。”,
minlength:jQuery.format(“至少需要{0}个字符。”)
},
电子邮件:{
必填:“请输入您的电子邮件。”,
电子邮件:“请输入有效的电子邮件。”
},
电话:{
必填:“请输入电话号码。”,
电话:“请输入有效号码。”
},
叠加信息:{
必填:“请输入消息。”,
minlength:jQuery.format(“至少需要{0}个字符。”)
}
},
//使用Ajax将所有内容发送到processForm.php
submitHandler:函数(表单){
$(“发送”).attr(“值”、“发送…”);
$(表格).ajaxSubmit({
目标:“响应”,
成功:函数(responseText、statusText、xhr、$form){
$(“#response”).html(responseText.hide().slideDown(“fast”);
}
});
返回false;
}
});
PHP:
//清除输入值
foreach($\发布为$key=>$value){
if(ini_get('magic_quotes_gpc'))
$\u POST[$key]=带斜杠($\u POST[$key]);
$\u POST[$key]=htmlspecialchars(带标签($\u POST[$key]);
}
//将输入值分配给变量以便于参考
$name=$\u POST[“overlay\u name”];
$name2=$\u POST[“overlay\u name2”];
$telephone=$\u POST[“覆盖电话”];
$email=$\u POST[“overlay\u email”];
$message=$\u POST[“overlay\u message”];
//测试输入值是否存在错误
$errors=array();
if(strlen($name)<2){
如果(!$name){
$errors[]=“您必须输入一个名称。”;
}否则{
$errors[]=“名称必须至少包含2个字符。”;
}
}
如果(!$电子邮件){
$errors[]=“您必须输入电子邮件。”;
}如果(!validEmail($email)){
$errors[]=“您必须输入有效的电子邮件。”;
}
if(strlen($message)<10){
如果(!$消息){
$errors[]=“您必须输入一条消息。”;
}否则{
$errors[]=“消息必须至少包含10个字符。”;
}
如果($errors){
//输出错误并显示故障消息
$errortext=“”;
foreach($errors作为$error){
$errortext.=“”。$error. ”;
}
die(“发生以下错误:”$errortext.
”;
}
$to=“此处的电子邮件地址”;
$subject=“联系方式:$name”;
$message=“$message”;
$headers=“From:$email”;
邮件($to、$subject、$message、$headers);
//带着成功的信息死去
死亡(“成功!您的信息已发送。”);
//一种检查是否存在的函数
//电子邮件是有效的
功能validEmail($email)
{
$isValid=true;
$atIndex=strrpos($email,“@”);
如果(是布尔($atIndex)和&!$atIndex)
{
$isValid=false;
}
其他的
{
$domain=substr($email$atIndex+1);
$local=substr($email,0,$atIndex);
$localLen=strlen($local);
$domainLen=strlen($domain);
如果($localLen<1 | |$localLen>64)
{
//超出局部零件长度
$isValid=false;
}
else if($domainLen<1 | |$domainLen>255)
{
//超出域部分长度
$isValid=false;
}
else if($local[0]='.| |$local[$localLen-1]='.)
{
//局部零件以“.”开头或结尾
$isValid=false;
}
else if(预匹配('/\.\.\./',$local))
{
//局部部分有两个连续的点
$isValid=false;
}
else如果(!preg_match('/^[A-Za-z0-9\\-\\.]+$/',$domain))
{
//域部分中的字符无效
$isValid=false;
}
else if(preg\u匹配('/\.\.\./',$domain))
{
//域部分有两个连续的点
$isValid=false;
}
如果(!preg_match('/^(\\\.\.\.[A-Za-z0-9!\\\%&`\\/$\'*+?^{}\\\\.-])+$/',则,
str\u replace(“\\\\”,“,$local)))
{
//字符在本地部分无效,除非
//引用本地部分
如果(!preg_match('/^“(\\\\\”\[^“])+“$/”,
str\u replace(“\\\\”,“,$local)))
{
$isValid=false;
}
}
如果($isValid&&!(选中D
$('#contactform').validate({
// Specify what the errors should look like
// when they are dynamically added to the form
errorElement: "input",
errorPlacement: function(error, element) {
error.insertBefore( element.parent().parent() );
error.wrap("<input class='ErrorField'></input>");
},
// Add requirements to each of the fields
rules: {
overlay_name: {
required: true,
minlength: 3
},
overaly_name2:{
required:true,
minlength:3
},
overlay_email: {
required: true,
email: true
},
overlay_telephone:{
required:true,
minlength:10,
expression: "if (VAL != 'Phone') return true; else return false;",
},
overlay_message: {
required: true,
minlength: 10
}
},
// Specify what error messages to display
// when the user does something horrid
messages: {
overlaye_name: {
required: "Please enter your name.",
minlength: jQuery.format("At least {0} characters required.")
},
overlaye_name2: {
required: "Please enter your last name.",
minlength: jQuery.format("At least {0} characters required.")
},
overlay_email: {
required: "Please enter your email.",
email: "Please enter a valid email."
},
overlay_telephone:{
required:"Please enter telephone number.",
phone:"Please enter valid number."
},
overlay_message: {
required: "Please enter a message.",
minlength: jQuery.format("At least {0} characters required.")
}
},
// Use Ajax to send everything to processForm.php
submitHandler: function(form) {
$("#send").attr("value", "Sending...");
$(form).ajaxSubmit({
target: "#response",
success: function(responseText, statusText, xhr, $form) {
$("#response").html(responseText).hide().slideDown("fast");
}
});
return false;
}
});
// Clean up the input values
foreach($_POST as $key => $value) {
if(ini_get('magic_quotes_gpc'))
$_POST[$key] = stripslashes($_POST[$key]);
$_POST[$key] = htmlspecialchars(strip_tags($_POST[$key]));
}
// Assign the input values to variables for easy reference
$name=$_POST["overlay_name"];
$name2=$_POST["overlay_name2"];
$telephone=$_POST["overlay_telephone"];
$email=$_POST["overlay_email"];
$message=$_POST["overlay_message"];
// Test input values for errors
$errors = array();
if(strlen($name) < 2) {
if(!$name) {
$errors[] = "You must enter a name.";
} else {
$errors[] = "Name must be at least 2 characters.";
}
}
if(!$email) {
$errors[] = "You must enter an email.";
} else if(!validEmail($email)) {
$errors[] = "You must enter a valid email.";
}
if(strlen($message) < 10) {
if(!$message) {
$errors[] = "You must enter a message.";
} else {
$errors[] = "Message must be at least 10 characters.";
}
if($errors) {
// Output errors and die with a failure message
$errortext = "";
foreach($errors as $error) {
$errortext .= "<li>".$error."</li>";
}
die("<span class='failure'>The following errors occured:<ul>". $errortext ."</ul></span>");
}
$to = "email address here";
$subject = "Contact Form: $name";
$message = "$message";
$headers = "From: $email";
mail($to, $subject, $message, $headers);
// Die with a success message
die("<span class='success'>Success! Your message has been sent.</span>");
// A function that checks to see if
// an email is valid
function validEmail($email)
{
$isValid = true;
$atIndex = strrpos($email, "@");
if (is_bool($atIndex) && !$atIndex)
{
$isValid = false;
}
else
{
$domain = substr($email, $atIndex+1);
$local = substr($email, 0, $atIndex);
$localLen = strlen($local);
$domainLen = strlen($domain);
if ($localLen < 1 || $localLen > 64)
{
// local part length exceeded
$isValid = false;
}
else if ($domainLen < 1 || $domainLen > 255)
{
// domain part length exceeded
$isValid = false;
}
else if ($local[0] == '.' || $local[$localLen-1] == '.')
{
// local part starts or ends with '.'
$isValid = false;
}
else if (preg_match('/\\.\\./', $local))
{
// local part has two consecutive dots
$isValid = false;
}
else if (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain))
{
// character not valid in domain part
$isValid = false;
}
else if (preg_match('/\\.\\./', $domain))
{
// domain part has two consecutive dots
$isValid = false;
}
else if(!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/',
str_replace("\\\\","",$local)))
{
// character not valid in local part unless
// local part is quoted
if (!preg_match('/^"(\\\\"|[^"])+"$/',
str_replace("\\\\","",$local)))
{
$isValid = false;
}
}
if ($isValid && !(checkdnsrr($domain,"MX") || checkdnsrr($domain,"A")))
{
// domain not found in DNS
$isValid = false;
}
}
return $isValid;
}
$(function () {
$("#contactForm").submit(submitHandler);
});