【问题标题】:PHP sending mail is not working and index of value is unreachablePHP 发送邮件不起作用,价值索引无法访问
【发布时间】:2020-07-17 10:52:33
【问题描述】:

我用post和action方法来发送邮件。我尝试通过运行测试 PHP 从托管服务器发送短邮件。它正在工作。将其与 HTML 表单合并后不起作用,并且还会给出错误未定义的索引。这是代码的摘要。
HTML 文件:

     <form id="msform" action="./php/mailer.php" name="step1"  method="POST">      
    <fieldset>
        <h2 class="fs-title">Fillup basic Information</h2>
        <h3 class="fs=subtitle">This is step 1</h3><br>
        <input type="text" name="fname" placeholder="First Name" required/>
        <input type="text" name="lname" placeholder="Last Name" required/>
 <input type="button" name="next" class="next action-button"  value="Next" onclick="return validateStep1()"/>
     </fieldset>
    </from>

PHP 文件:

<?php
if(isset($_POST['next']))
{
$fname = $_POST['fname'];
$lname = $_POST['lname'];


  $msg="Hello My Name is $fname $lname . My Company is $company which is located in $address1 . The Second address is $address2. I live in $city city, $state state, $zip zip, $country.
  My Phone number is $tel. My Fax number is $fax. My email is $email. I want to donate $other. My Custom Donate is $otherDonation. I want to donate regular=$regulardonate for $dollar dollar
  per $months";

  mail("x@gmail.com","Donation",$msg);
}
?>

JS 文件:

function validateStep1()
{
  var fname =document.forms["step1"]["fname"];
  var lname =document.forms["step1"]["lname"];
if (fname.value == "")                                  
  { 
      window.alert("Please enter your first name."); 
      fname.focus();
      return false; 
  } 

  if (lname.value == "")                                  
  { 
      window.alert("Please enter your Last name."); 
      lname.focus(); 
      return false; 
  } 
    window.open('./second.html', '_self');
  return true;   
}

我在 GitHub 上的 Live 表单,你检查一下 - https://tamzid958.github.io/multipage_form/

【问题讨论】:

  • “未定义索引”在哪里抛出?
  • 现在 PHP 文件没有触发。但是如果我在 HTML 文件中运行脚本,或者如果我在 JS 文件中使用 window.open('php.file')。一封邮件正在发送未定义的索引错误。名称现在未捕获。 PHP 文件根本不工作。

标签: javascript php html post


【解决方案1】:

您表单中的 PHP 文件不能作为 https://tamzid958.github.io/multipage_form/ 工作,因为主机根本没有解析 PHP。此托管仅适用于静态页面,例如 HTML、JS、CSS。

您需要将代码放在支持 PHP 的主机上。

【讨论】:

  • 我试过 000webhosting。还是一样 - tamzid958.000webhostapp.com
  • 不一样。尝试在您的 PHP 顶部启用 error_reporting,并立即尝试调试。您需要查看实际错误,或者您需要在代码中添加一些响应,例如,如果错误或成功会回显?您似乎没有进行任何调试..
  • 在尝试电子邮件后,但 $fname $lname 未捕获。 ibb.co/JcvXDBY
  • 好吧,$_POST['next'] 是否已填充?如果不是,那么fname,lname 将被清空。您可以使用所有信息更新您的问题,所以我们不会一直猜测.. :)
猜你喜欢
  • 2014-08-25
  • 1970-01-01
  • 2016-11-14
  • 1970-01-01
  • 1970-01-01
  • 2012-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多