weixin_33737134 2014-05-16 12:26 采纳率: 0%
浏览 23

电子邮件表格无效

I made a website on bootstrap. And by using Ajax and PHP, linked a form to it. The form doesn't send any emails. I have put it on the server to check it as well. Can someone please help me out with the code.

<form name="contactform" method="post" action="" >
                    <div class="form-group">

                        <input type="email" class="form-control" name="email" id="email" placeholder="Enter email" style="width:80%; height: 40px; font-size: 16px; ">
                    </div>
                    <div class="form-group">

                        <input type="password" class="form-control" name="password" id="password" placeholder="Password" style="width:80%; height: 40px; font-size: 16px;">
                    </div>

                    <button type="submit" onclick="myFunction()" class="btn btn-default" style="width: 80%; height: 55px; font-size: 17px; color: white; border-radius: 11px; border: none; background: #F59E3B"><span class="glyphicon glyphicon-play" style="color: white; float: left;"></span>Yes, get me RTD now!</button>
                </form>
                <div id="myDiv"></div>

And this is the AJAX code:

<script type="text/javascript">
function myFunction()
{


    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("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
  var email=document.getElementById("email").value;
  var password=document.getElementById("password").value;
  xmlhttp.open("POST","senderemail.php?email="+email+"&password="+password,true);
  xmlhttp.send();
}
</script>

And here is the PHP code:

    if(isset($_REQUEST["email"]))
{

 $email_to="[email protected]";
 $email_subject="RTD enquiry ";
 echo $email_from=$_REQUEST["email"];
 $email_message="NEW User:".$email_from;
 echo $password="Password: ". $_REQUEST["password"];

  $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';

  if(!preg_match($email_exp,$email_from)) {

      echo  'OOPS !! It seems you have entered a wrong Email ID.<br />';

  }
  else
  {
   $headers = 'From: '.$email_from."
".'Reply-To: '.$email_from."
" .'X-Mailer: PHP/' . phpversion();
     if(@mail($email_to, $email_subject, $email_message, $headers))
     {
        echo "<div class='thanks'><span id='Nihal'>Many thanks for getting in touch.</span><span class='sub-header'>We'll get back to you as soon as we can.</span></div>";
     }
     else
     { 
       echo "Sorry :( Please try again later";
     }
  }

}
  • 写回答

2条回答 默认 最新

  • weixin_33725239 2014-05-16 12:51
    关注

    Do not put the parameters into the URL when using a POST request. Using a post request is fine, though. Add the parameters in the call xmlhttp.send(); i.e. xmlhttp.send("email="+email+"&password="+password);

    评论

报告相同问题?