电子邮件php脚本无法在移动设备上工

时间:2016-05-02 09:42:31

标签: javascript php

我有一个桌面工作表单+ javascript处理程序+ php sendtoemail脚本但是当我进入移动视图并使用相同的脚本+完全相同的表单时。它启动调用php文件的javascript,但邮件没有按预期运行。我认为问题在于将信息从javascript传递给php。

使用Javascript:

function send_message()
        {
            var a=document.forms["Form"]["name"].value;
            var b=document.forms["Form"]["email"].value;
            var c=document.forms["Form"]["message"].value;
            var d=document.forms["Form"]["surname"].value;

            document.getElementById("contact_message").innerHTML = "Sending your message... Please wait.";

            loadXMLDoc(a, b, c, d);
        }


        //pomocna funkcija za validaciju emaila
        function validateEmail(email) {
            var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
            return re.test(email);
        }

        //funkcija za slanje emaila
        function loadXMLDoc(name, mail, message, surname)
        {
            var xmlhttp;
            if (window.XMLHttpRequest)
              {// code for IE7+, Firefox, Chrome, Opera, Safari
              xmlhttp=new XMLHttpRequest();
              }
            else
              {// code for IE6, IE5
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
              }
            xmlhttp.onreadystatechange=function()
              {
              if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                document.getElementById("contact_message").innerHTML=xmlhttp.responseText;
                document.getElementById("contact_message2").innerHTML=xmlhttp.responseText;
                }
              }

            // xmlhttp.open("GET","send_enquiry.php",true);
            xmlhttp.open("POST","send_enquiry.php",true);
            xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
            xmlhttp.send("name=" + name + "&email=" + mail + "&message=" + message + "&surname=" + surname);


        }

然后是PHP:

<?php
$title = $_POST['title']
$name = $_POST['name'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$message = $_POST['message'];


$headers = "From: $email\r\n" .
    "Content-Transfer-Encoding: 8bit\r\n".
    "Reply-To: $email\r\n" .
    "Content-Type: text/plain; charset=UTF-8\r\n" .
    "X-Mailer: PHP/" . phpversion();

$headers2 = 
    "Content-Transfer-Encoding: 8bit\r\n".
    "Content-Type: text/plain; charset=UTF-8\r\n" .
    "X-Mailer: PHP/" . phpversion();


$poruka = $title." ".$name." ".$surname." \n".$email."\n\n".$message;



//server side provjera da li su sve varijable pune
if (($name !== '') && ($email !== '') && ($message !== ''))
{
//provjera da li je mail poslan
    if(@mail('info@delmata-travel.hr', 'delmata-travel.hr - New enquiry', $poruka, $headers))
        print 'Message successfully sent. We will answer as soon as possible. ';
    else
    {
        print 'Sending unsuccessfull. Please try again.';
        mail('info@delmata-travel.hr', 'delmata-travel.hr - Greška', "Desila se greška kod slanja poruke putem kontakt forme. Greška je uzrokovana jer mail nije poslan iz nekog razloga. \n\nPodaci pošiljatelja su: \n".$name." \n".$email." \n".$message, $headers2);
    }
}    
else
{
    print 'Sending unsuccessfull. Please try again.';
    @mail('info@delmata-travel.hr', 'delmata-travel.hr - Greška', "Desila se greška kod slanja poruke putem kontakt forme. Greška je uzrokovana jer svi uneseni podaci nisu bili ispunjeni. Poruka je prosla javascript validaciju, ali nije prošla server side validaciju. \n\nPodaci ako su ispunjeni su sljedeći: \n".$name." \n".$email." \n".$message, $headers2);
}

&GT;

在移动设备上,我正在获取PHP的if else部分中的最后一个。应该是信息没有完全输入,并且应该导致发送输入的信息。

我猜这不适用于手机,因为从javascript到php的发送参数无法正常工作。 我必须提一下,这个表单和验证以及发送电子邮件完全适用于桌面版。

表格完全相同。检查了10次。

0 个答案:

没有答案