Php 生效后未发送的邮件

Php 生效后未发送的邮件,php,javascript,forms,email,Php,Javascript,Forms,Email,这是我昨晚问的一个问题的扩展版本,但有更多的细节。我所有的php文件和js文件都在一个名为js的文件夹中,从我的html页面向下一级。 我有一个联系人表单,它用php邮件将购物车的内容和表单输入发送到我的电子邮件。我在提交时验证表格: <form name="theForm" id="theForm" onsubmit="return validateFormOnSubmit(this)"> 以下是我尝试调用的simpleCart.js中的函数(设置为emailCheckout):

这是我昨晚问的一个问题的扩展版本,但有更多的细节。我所有的php文件和js文件都在一个名为js的文件夹中,从我的html页面向下一级。 我有一个联系人表单,它用php邮件将购物车的内容和表单输入发送到我的电子邮件。我在提交时验证表格:

<form name="theForm" id="theForm" onsubmit="return validateFormOnSubmit(this)">
以下是我尝试调用的simpleCart.js中的函数(设置为emailCheckout):

它从表单和actions sendjs.php接收购物车信息、输入、验证码和代码,并将其邮寄给我:

(来自上述代码)

如果验证码正确,它会将其发送给我并重定向到“from accepted.php”页面,如果不正确,它会重定向到“form rejected.php”页面(sendjs.php):


问题在于,验证后is不执行操作sendjs.php,只需重新加载联系人页面。调试器没有显示任何错误,我已经用其他方法测试了simpleCart.checkout,它应该可以工作。很抱歉,这篇文章篇幅太长,但是我被难住了,因为没有这个表单的功能,我失去了生意(为了让它工作,我睡了很多觉)。

以下是该页面的链接:

有人有什么建议吗?我现在必须出去一个小时,但我会监视这篇文章,当我回来时,至少在接下来的四五个小时内或直到问题得到解决。提前谢谢


Jamie

在Chrome中,我遇到了以下错误:未捕获类型错误:无法读取validate.js:16上未定义的属性“textbox”


顺便说一句,我被重定向到了,所以这篇文章看起来还行。以前它不工作,因为我的购物车是空的

没有人有任何建议吗?测试了sendjs.php(sendmail)并没有问题。如何让simpleCart在验证后执行操作!!!它只在我使用
action=“javascript:simpleCart.checkout()
调用函数时起作用,但在IE中不起作用
<input type=submit name=Submit value=Send style=cursor:pointer/>
function setSelRange(inputEl, selStart, selEnd) { 
if (inputEl.setSelectionRange) { 
inputEl.focus(); 
inputEl.setSelectionRange(selStart, selEnd); 
} else if (inputEl.createtextRange) { 
var range = inputEl.createtextRange(); 
range.collapse(true); 
range.moveEnd('character', selEnd); 
range.moveStart('character', selStart); 
range.select(); 
} 
}

window.onload=function(){
setSelRange(document.theForm.textbox, 0, 0);
}

function validateFormOnSubmit(theForm) {
var reason = "";
reason += validateName(theForm.name);
reason += validatePhone(theForm.phone);
reason += validateEmail(theForm.emaile);

if (reason != "") {
alert("Some fields need correction:\n" + reason);
return false;
}

simpleCart.checkout()
}



function validateEmpty(fld) {
var error = "";

if (fld.value.length == 0) {
    fld.style.background = '#3399ff'; 
    error = "The required field has not been filled in.\n"
} else {
    fld.style.background = 'White';
}
return error;  
}



function trim(s)
{
return s.replace(/^\s+|\s+$/, '');
}

function validateName(fld) {
var error = "";
var illegalChars = /\W/; // allow letters, numbers, and underscores

if (fld.value == "") {
    fld.style.background = '#3399ff'; 
    error = "Please enter a name.\n";
} else if ((fld.value.length < 2) || (fld.value.length > 30)) {
    fld.style.background = '#3399ff'; 
    error = "The nme is too long!\n";
} else {
    fld.style.background = 'White';
}
return error;
}

function trim(s)
{
return s.replace(/^\s+|\s+$/, '');
}

function validateEmail(fld) {
var error="";
var tfld = trim(fld.value);                        // valu
trimmed off
var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;

if (fld.value == "") {
    fld.style.background = '#3399ff';
    error = "Please enter an email address.\n";
} else if (!emailFilter.test(tfld)) {              //test email for illegal characters
    fld.style.background = '#3399ff';
    error = "Please enter a valid email address.\n";
} else if (fld.value.match(illegalChars)) {
    fld.style.background = '#3399ff';
    error = "The email address contains illegal characters.\n";
} else {
    fld.style.background = 'White';
}
return error;
} 

function validatePhone(fld) {
var error = "";
var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');    

if (fld.value == "") {
    error = "Please enter a phone number.\n";
    fld.style.background = '#3399ff';
 } else if (isNaN(parseInt(stripped))) {
    error = "The phone number can only contain numbers.\n";
    fld.style.background = '#3399ff';
 } else if (!(stripped.length == 10)) {
    error = "The phone number is the wrong length.     area        code.\n";
    fld.style.background = '#3399ff';
}
return error;
}
  if (reason != "") {
alert("Some fields need correction:\n" + reason);
return false;
}

simpleCart.checkout()
}
me.checkout = function() {
    if( me.quantity === 0 ){
        error("Cart is empty");
        return;
    }
    switch( me.checkoutTo ){
        case PayPal:
            me.paypalCheckout();
            break;
        case GoogleCheckout:
            me.googleCheckout();
            break;
        case Email:
            me.emailCheckout();
            break;
        default:
            me.customCheckout();
            break;
    }
};

me.emailCheckout = function() {    

itemsString = "";
for( var current in me.items ){ 
    var item = me.items[current];
    itemsString += item.name + " " + item.quantity + " " + item.price + "\n";
}   

var form = document.createElement("form");
form.style.display = "none";
form.method = "POST";
form.action = "js/sendjs.php";
form.acceptCharset = "utf-8";
form.appendChild(me.createHiddenElement("wsp_key", wsp_key));
form.appendChild(me.createHiddenElement("wsp_code", wsp_code));
form.appendChild(me.createHiddenElement("textbox", textbox));
form.appendChild(me.createHiddenElement("name",name));
form.appendChild(me.createHiddenElement("phone",phone));
form.appendChild(me.createHiddenElement("emaile",emaile));
form.appendChild(me.createHiddenElement("jcitems", itemsString));
form.appendChild(me.createHiddenElement("jctotal", me.total));
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
}
form.action = "js/sendjs.php";
<?php
include_once("wsp_captcha.php");

if(WSP_CheckImageCode() != "OK") {
header('location:/form-rejected.php');
die();
}
$to      = 'diysoakwells@hotmail.com';
$subject = 'Order Inquiry';
$jcitems = " <p><b>ORDER:</b></p><p> " . $_POST['jcitems']."<p/>" .     "<p><b>Total:</b>     $" . $_POST['jctotal']."</p>";
$time = date ("h:i A"); 
$date = date ("l, F jS, Y");
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= 'From: inquiry@diysoakwells.com' . "\r\n" .
'Reply-To: noreply@diysoakwells.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$name = $_POST['name'];
$phone = $_POST['phone'];
$emaile = $_POST['emaile'];
$textbox = $_POST['textbox'];
$text = "<html><body><p>This form was submitted on Your Web Site on \n $date at\n $time</p><p><b>Message:</b>\n$textbox</p><p><b>Customers Email Address:</b>$emaile</p><p><b>Customers Name:</b> $name </p><p><b>Customers Phone    Number:</b> $phone </p></html></body>";
$body = $text . $jcitems;
mail($to, $subject, $body, $headers);
Header('Location: ../form-accepted.php');
?>