【发布时间】:2015-12-07 11:31:55
【问题描述】:
问题(仅在点击提交后)
电子邮件不显示 html 表单或其结果,它只是在多封电子邮件中发送数字“1”
表单结果显示在下一页(需要发送到其他页面)
我的网站上有一个表格,我想将该表格中的结果发送到我的电子邮件。但是,我希望结果与表单的格式相同。所以我不熟悉 php,我研究了如何发送电子邮件并且我得到了它的工作。看了之后,我意识到如果它是在一个表格中,阅读表格信息会容易得多。我将 html 复制并粘贴到 php 中,并将其全部放在 print 标记中。在插入占位符标签以显示表单结果之前,我更进一步并在表单的输入中插入了只读标签。我遇到的问题是,当我点击提交时,表单会显示在下一页上,而我收到的电子邮件在电子邮件正文中只有数字 1……而且我一次收到几封带有相同消息的电子邮件。
额外:
1. php 代码如下,我只在前三个输入上放置了占位符,因为我只需要几个输入来测试脚本是否有效。
2.原始的html表单(不在下面)有“name”标签,所以当我点击提交时,我输入的结果就会显示出来。
3.如果您阅读代码,您只需要注意前三个输入,其余的都是为了视觉目的。后来我想看看我可以在电子邮件中放入多少表格以及多少样式。
<?php
$to = 'anyemail@email.com';
$subject = "New Mortgage Form ($name)";
$message = Print'
<form>
<div id="AppInfo">
<br>
<span style="text-decoration: underline; font-size: 1.2em;">Applicant Information</span> <br><br>
Name: <input type="text" title="name" placeholder="' .$_POST['name'] . '" readonly> <br> <br>
Address: <input type="text" title="address" placeholder="' .$_POST['address'] . '" readonly> <br> <br>
Rent/Own: <input type="text" title="rentown" placeholder="' .$_POST['rentown'] . '" readonly> <br><br>
How Long: <input type="text" title="length" readonly> <br><br>
Prior Address: <input type="text" title="prior" readonly> <br><br>
DOB: <input type="text" title="dob" readonly> <br><br>
Marital Status: <input type="text" title="marital" readonly> <br><br>
SSN: <input type="number" title="estValue" readonly> <br><br>
Home:<input type="tel" title="home" readonly> <br><br>
Cell: <input type="tel" title="cell" readonly> <br><br>
Employer: <input type="text" title="emp" readonly> <br><br>
Position: <input type="text" title="empPosition" readonly> <br><br>
Address: <input type="text" title="empAddress" readonly> <br><br>
Monthly Salary: <input type="number" title="empSalary" readonly> <br><br>
Date Hired: <input type="date" title="empHired" readonly> <br><br>
Commission, Overtime, Child Support, etc: <br>
    <input type="text" title="c.o.c.e" readonly> <br><br>
Wk <input type="number" title="work" readonly> <br><br>
Fax <input type="number" title="fax" readonly> <br><br>
Self Employed:   Yes<input type="checkbox" title="seYes" readonly>    No<input type="checkbox" title="seNo" readonly> <br><br>
How Long: <input type="text" title="seLength" readonly> <br><br>
</div>
<br><br><br>
<div id="MoDebt">
<span style="text-decoration: underline; font-size: 1.2em;">Monthly Debts</span>
     
<br><br>
Rent/Mortgage Payment: <input type="text" title="Rent or Mortgage Payment Amount Monthly"> <br> <br>
Car Payment: <input type="text" title="Car Payment Amount Monthly"> <br> <br>
Make/Model/Year: <input type="text" title="Make of car/Model of car/Year of car"> <br><br>
Student Loans: <input type="text" title="Student Loans Amount Monthly"> <br><br>
Credit Cards: <input type="text" title="Credit Cards Amount Monthly"> <br><br>
Child Support: <input type="text" title="Child Support Amount Monthly"> <br><br>
Other: <input type="text" title="Other Debt Amounts Monthly"> <br><br>
</div>';
// send email
mail($to, $subject, $message);
?>
【问题讨论】:
-
我刚刚找到了一个替代选项:附件!但是,我仍然想弄清楚这个当前的问题......
-
这可能是因为您正在打印消息。这将返回 true。所以删除那里的印刷品。
-
按照这个:php.net/manual/en/function.mail.php 并更新脚本,您的脚本发送 1 因为脚本中不存在标题,所以添加适当的标题并发送电子邮件。
-
您没有将表单分配给 $message 变量:您正在将该表单的打印结果分配给变量。只需删除 $message 变量开头的
Print即可修复