Javascript PHP表单间歇性工作

Javascript PHP表单间歇性工作,javascript,php,forms,http-post,Javascript,Php,Forms,Http Post,直到最近,一个使用POST和PHP的基本HTML表单仍然运行良好。目前,它完全是从某些计算机/设备发送邮件,但在某些计算机/设备上失败了 有些设备在上传网络之外提交罚款,有些则没有。有时一台出现问题的计算机在下一次尝试时工作正常。我的直觉告诉我这是一个网络主机问题,因为我正在利用免费的byethost17 这是PHP: <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $ride = $_POST['rideA'] +$_POST['rid

直到最近,一个使用POST和PHP的基本HTML表单仍然运行良好。目前,它完全是从某些计算机/设备发送邮件,但在某些计算机/设备上失败了

有些设备在上传网络之外提交罚款,有些则没有。有时一台出现问题的计算机在下一次尝试时工作正常。我的直觉告诉我这是一个网络主机问题,因为我正在利用免费的byethost17

这是PHP:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$ride = $_POST['rideA'] +$_POST['rideS'];
$frogs = $_POST['bbq'] + $_POST['burg'] + $_POST['chim'] + $_POST['ces'] + $_POST['fet'];
$top = $_POST['topA'] + $_POST['topS'] + $_POST['topSt'];
$memo = $_POST['memA'] + $_POST['memS'] + $_POST['memSt'];
$fee =  max($_POST['flight'], $_POST['bus'], $ride, $_POST['cruise'], $_POST['srock'], $frogs, $top, $memo);
$ambrosia = $fee * 30;
$subtotal = (618 * $_POST['flight']) + (30 * $_POST['bus']) + (65 * $_POST['rideA']) + (45 * $_POST['rideS']) + (60 * $_POST['cruise']) + (95 * $_POST['srock']) + (19 * $frogs) + (26 * $_POST['topA']) + (24 * $_POST['topS']) + (20 * $_POST['topSt']) + (21.5 * $_POST['memA']) + (16.5 * $_POST['memS']) + (13.5 * $_POST['memSt']);
$total = $subtotal + $ambrosia;

$to = '***@gmail.com';
$subject = 'Order Confirmation: ' . $_POST['a'] . ' ' . $_POST['b']; 
$message = 'School: ' . 'CVHS' . "\r\n";
$message .= $_POST['a1'] . $_POST['a'] . "\r\n";
$message .= $_POST['b1'] . $_POST['b'] . "\r\n";
$message .= $_POST['c1'] . $_POST['c'] . "\r\n";
$message .= $_POST['d1'] . $_POST['d'] . "\r\n";
$message .= $_POST['e1'] . $_POST['e'] . "\r\n";
$message .= $_POST['f1'] . $_POST['f'] . "\r\n";
$message .= $_POST['g1'] . $_POST['g'] . "\r\n";
$message .= $_POST['h1'] . $_POST['h'] . "\r\n";
$message .= $_POST['flight1'] . $_POST['flight'] . "\r\n";
$message .= $_POST['bus1'] . $_POST['bus'] . "\r\n";
$message .= $_POST['rideS1'] . $_POST['rideS'] . "\r\n";
$message .= $_POST['rideA1'] . $_POST['rideA'] . "\r\n";
$message .= $_POST['cruise1'] . $_POST['cruise'] . "\r\n";
$message .= $_POST['srock1'] . $_POST['srock'] . "\r\n";
$message .= $_POST['bbq1'] . $_POST['bbq'] . "\r\n";
$message .= $_POST['burg1'] . $_POST['burg'] . "\r\n";
$message .= $_POST['chim1'] . $_POST['chim'] . "\r\n";
$message .= $_POST['ces1'] . $_POST['ces'] . "\r\n";
$message .= $_POST['fet1'] . $_POST['fet'] . "\r\n";
$message .= $_POST['topA1'] . $_POST['topA'] . "\r\n";
$message .= $_POST['topS1'] . $_POST['topS'] . "\r\n";
$message .= $_POST['topSt1'] . $_POST['topSt'] . "\r\n";
$message .= $_POST['memA1'] . $_POST['memA'] . "\r\n";
$message .= $_POST['memS1'] . $_POST['memS'] . "\r\n";
$message .= $_POST['memSt1'] . $_POST['memSt'] . "\r\n" . "\r\n";
$message .= 'The Paramount NYC' . "\r\n";
$message .= $_POST['ab1'] . $_POST['ab'] . "\r\n";
$message .= $_POST['ac1'] . $_POST['ac'] . ' ' . $_POST['acday'] . ', ' . $_POST['acyear'] . "\r\n";
$message .= $_POST['ad1'] . $_POST['ad'] . ' ' . $_POST['adday'] . ', ' . $_POST['adyear'] . "\r\n" . "\r\n";
$message .= $_POST['bb1'] . $_POST['bb'] . "\r\n";
$message .= $_POST['bc1'] . $_POST['bc'] . ' ' . $_POST['bcday'] . ', ' . $_POST['bcyear'] . "\r\n";
$message .= $_POST['bd1'] . $_POST['bd'] . ' ' . $_POST['bdday'] . ', ' . $_POST['bdyear'] . "\r\n" . "\r\n";
$message .= $_POST['iroom1'] . $_POST['iroom'] . "\r\n";
$message .= $_POST['aname1'] . $_POST['aname'] . ' ';
$message .= $_POST['bname1'] . $_POST['bname'] . "\r\n";
$message .= $_POST['cname1'] . $_POST['cname'] . ' ';
$message .= $_POST['dname1'] . $_POST['dname'] . "\r\n";
$message .= $_POST['ename1'] . $_POST['ename'] . ' ';
$message .= $_POST['fname1'] . $_POST['fname'] . "\r\n";
$message .= $_POST['gname1'] . $_POST['gname'] . ' ';
$message .= $_POST['hname1'] . $_POST['hname'] . "\r\n" . "\r\n";
$message .= $_POST['rroom1'] . $_POST['rroom'] . "\r\n";
$message .= $_POST['jname1'] . $_POST['jname'] . ' ';
$message .= $_POST['kname1'] . $_POST['kname'] . "\r\n";
$message .= $_POST['lname1'] . $_POST['lname'] . ' ';
$message .= $_POST['mname1'] . $_POST['mname'] . "\r\n";
$message .= $_POST['nname1'] . $_POST['nname'] . ' ';
$message .= $_POST['oname1'] . $_POST['oname'] . "\r\n";
$message .= $_POST['pname1'] . $_POST['pname'] . ' ';
$message .= $_POST['qname1'] . $_POST['qname'] . "\r\n";
$message .= 'Payment type: ' . $_POST['payment'] . "\r\n";
$message .= 'Sub-total: ' . $subtotal . "\r\n";
$message .= 'Ambrosia Fee: ' . $ambrosia . "\r\n";  
$message .= 'Total: ' . $total . "\r\n";
mail($to, $subject, $message);
header('Refresh: 1; URL= http://***.com');
}

?>

以下是js调用:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

  <!--[if lt IE 9]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  <![endif]-->

这是javascript代码:

<script>
function validateForm() {
    var xa = document.forms["main"]["a"].value;
    var xb = document.forms["main"]["b"].value;
    var xc = document.forms["main"]["c"].value;
    var xd = document.forms["main"]["d"].value;
    var xe = document.forms["main"]["e"].value;
    var xf = document.forms["main"]["f"].value;
    var xg = document.forms["main"]["g"].value;
    var xh = document.forms["main"]["h"].value;

    if (xa == null || xa == "") {
        alert("First name must be filled out");
    document.forms["main"]["a"].focus();
        return false;}

    if (xb == null || xb == "") {
        alert("Last name must be filled out");
    document.forms["main"]["b"].focus();
        return false;}

    if (xc == null || xc == "") {
        alert("Phone number must be filled out");
    document.forms["main"]["c"].focus();
        return false;}

    if (xd == null || xd == "") {
        alert("Email must be filled out");
    document.forms["main"]["d"].focus();
        return false;}

    if (xe == null || xe == "") {
        alert("Street name must be filled out");
    document.forms["main"]["e"].focus();
        return false;}

    if (xf == null || xf == "") {
        alert("City must be filled out");
    document.forms["main"]["f"].focus();
        return false;}

    if (xg == null || xg == "") {
        alert("State must be filled out");
    document.forms["main"]["g"].focus();
        return false;}

    if (xh == null || xh == "") {
        alert("Zipcode must be filled out");
    document.forms["main"]["h"].focus();
        return false;}
}
</script>

函数validateForm(){
var xa=document.forms[“main”][“a”].value;
var xb=document.forms[“main”][“b”]值;
var xc=document.forms[“main”][“c”].value;
var xd=document.forms[“main”][“d”].value;
var xe=document.forms[“main”][“e”].value;
var xf=document.forms[“main”][“f”].value;
var xg=document.forms[“main”][“g”].value;
var xh=document.forms[“main”][“h”].value;
如果(xa==null | | xa==“”){
警告(“必须填写姓名”);
document.forms[“main”][“a”].focus();
返回false;}
如果(xb==null | | xb==“”){
警告(“必须填写姓氏”);
document.forms[“main”][“b”].focus();
返回false;}
如果(xc==null | | xc==“”){
警报(“必须填写电话号码”);
document.forms[“main”][“c”].focus();
返回false;}
如果(xd==null | | xd==“”){
提醒(“必须填写电子邮件”);
document.forms[“main”][“d”].focus();
返回false;}
if(xe==null | | xe==“”){
警告(“必须填写街道名称”);
document.forms[“main”][“e”].focus();
返回false;}
如果(xf==null | | xf==“”){
警报(“必须填写城市”);
document.forms[“main”][“f”].focus();
返回false;}
如果(xg==null | | xg==“”){
警报(“必须填写状态”);
document.forms[“main”][“g”].focus();
返回false;}
如果(xh==null | | xh==“”){
警报(“必须填写Zipcode”);
document.forms[“main”][“h”].focus();
返回false;}
}

我不知道是什么原因导致了网络主机之外的这种情况。谢谢大家!

我的最佳猜测是您正在使用的mail()函数存在一些问题。试试这个

您也可以尝试下面的代码

if(mail($to, $subject, $message)){
   echo "Email sent";
   header('Refresh: 1; URL= http://***.com');
}else{
   echo "Unable to send email";
}
mail()
如果电子邮件已发送,则函数返回true,然后您可以重定向到下一页


让我知道这是否有帮助

抛出的错误是什么?它在屏幕上显示了什么吗?您根本没有验证您的数据,没有解释所有这些POST字段是什么,也没有提供表单HTML,因此几乎任何事情都可能出错。寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请看:在这里获得的反对票可能是因为“尽快解决这个问题。请帮助。请帮助!”——读者通常将此理解为乞讨和匆忙,在志愿者网站上不太受欢迎。所有问题在这里都同等重要,业务截止日期和作业交稿日期不应传递给读者。请参阅我对有关
标题('Refresh:1;URL=http://***.com')
的回答的评论-这是错误的,我无法想象这会起作用。如果邮件在某些情况下有效,我会说它更可能是JavaScript。无论如何,
header()
都是不正确的-您将HTTP头与元标记值混合在一起。这是一个元标记,需要在完整的HTML文档中显示。啊哈!抱歉,这也是OP的错误——不过在复制错误时要小心,因为读者可能会认为你相信这一切都是正确的。