【问题标题】:My PHP jQuery Contact Form is not working我的 PHP jQuery 联系表不工作
【发布时间】:2019-02-18 20:17:25
【问题描述】:

我和我的团队正在为我的客户创建一个 PHP 网站。问题是我的 PHP 联系表没有向我的客户发送邮件。我的 Forms.js 粘贴在下面,还给出了 Contact.php 链接。当我在我的 PHP 联系表单上点击提交时,什么也没有发生,所以我不知道问题是什么。我想我之前的联系表格也可以使用,所以我真的希望有人能调查一下并帮助我...
http://mycustomerhanif.nexia.asia/contact.php
我希望我能得到一些帮助并让这个表格正常工作...
提前谢谢你

$(function() {
  $("#contact-form").submit(function(e) {
    e.preventDefault();
    var formdata = $(this).serialize();
    $.ajax({
      type: "POST",
      url: "mytestmail.php",
      data: formdata
    }).done(function(data) {
      console.log(data);
      alert("Thank you!");
    }).fail(function(data) {
      console.log(data);
    });
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="js/mailsender.js" type="text/javascript"></script>

<?php
if($_POST['submit']){
    $name = $_POST['formname'];
    $phone = $_POST['formphone'];
    $email = $_POST['formemail'];
    $xmessage = $_POST['formmessage'];
    
  $to = 'praveen.t@msn.com';
  $subject = 'My Customer Contact';
  $message = '
        <html>
            <head>
                <title>Please Contact Me</title>
            </head>
            <body>
                <p><b>Name:</b> '.$name.'</p>
                <p><b>Phone:</b> '.$phone.'</p>
                <p><b>Email:</b> '.$email.'</p>
                <p><b>Message:</b> '.$xmessage.'</p>
            </body>
        </html>'; 
$headers  = "Content-type: text/html; charset=utf-8 \r\n"; 

mail($to, $subject, $message, $headers);

}

?>

  <form method="POST" id="contact-form" action="mytestmail.php">
    <section>
      <label class="name">Name:
      <input type="text" name="formname" id="formname">
			</label>
      <label class="email">Email:
      <input type="email" name="formemail" id="formemail">
			</label>
      <label class="phone">Phone:
      <input type="phone" name="formphone" id="formphone">
			</label>
      <label class="message">Message:
<textarea name="formmessage" id="formmessage"></textarea>
			</label>
      <input id="buttons-reset" name="reset" type="reset" value="Reset">
      <input id="buttons-submit" name="submit" type="submit" value="Submit">
    </section>
  </form>

【问题讨论】:

  • 代码太多。您需要自己更好地解决此问题。我们不是调试器。您需要隔离问题并从那里进行调试。如果您遇到困难,请清楚说明 Minimal, Complete, and Verifiable example 的问题。我建议阅读How to Ask 一个好问题和the perfect question。另外,请务必使用tour 并阅读this
  • 如果您需要有关 PHP 的帮助,它需要是未处理的代码,而不是指向已处理页面的链接。正如@JohnConde 所说,如果您想获得有关 SO 的帮助,则需要认真修改这个问题。给我们一个minimal reproducible example 不工作的特定代码。如果您在 PHP 或 js 控制台中收到错误消息,也请分享这些消息。
  • 我已经编辑了我的 PHP 联系人和 PHP sendmail 页面和 JS 页面,所以请看看...
  • 您需要在表单中添加一个方法:&lt;form method="POST" id="contact-form" action="mytestmail.php"&gt; 并更新您的第一个 if 语句:if($_POST['submit']){
  • 谢谢,我现在试试,然后回来……

标签: php jquery html css


【解决方案1】:

你的代码中有很多不好的地方。

  1. 您有想要发送的电子邮件 ['praveen.t@*****.com']
  2. 您必须将表单值提交到服务器端 php,我没有看到我只看到您想将其发送到 usr/sbin/sendmail 是服务器上 sendmail 的位置..

关于第 1 点,您的脚本可用于发送垃圾邮件,因为它们可以更改收件人地址。

要发送它,只需在服务器端有一个表单和类似的东西。

<?php

// please validate upon needed..

$message = $_REQUEST['message'];
$to = "mailTO@domain.com";
$subject = 'Some subject';
if(mail ($to,$subject,$message)){
   print "email sent";
}else{
  print "error sending email";
}
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多