php - 为什么我收到的邮件没有任何内容?

标签 php html

我有一个表单,可以捕获并转发用户的姓名、电子邮件和评论。

我的收件箱中收到了电子邮件,但其值为空。

收到的电子邮件示例:

Name:
Email:
Comment:

这是我的index.php 文件中的代码

<?php 
 $name="";
 $from="";
 $message="";
 if(isset($_POST['submit'])){
  $name=mysql_real_escape_string($_POST['name']);
  $from=mysql_real_escape_string($_POST['email']);
  $message=mysql_real_escape_string($_POST['comments']);
  $to="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3a5f575b53567a5f425b574a5f5614595557" rel="noreferrer noopener nofollow">[email protected]</a>";
  include("library/send_email.php");
 }
?>

<form id="contactform" name="contactform" action="" method="post">
 <input type="text" id="name" placeholder="Name" name="name" value="<?php echo $name;?>" required>
 <input type="text"  id="email" placeholder="Email" name="email" value="<?php echo $from;?>" required>
 <textarea id="comments" name="comments" placeholder="Message" required><?php echo $message;?></textarea>
 <button name="submit" id="submit" class="contact-btn-submit" type="submit">Send</button>
</form>

还有一个 send_email.php 文件,其中包含以下内容:

<?php
 $send_email= new class_email_sender($name,$from,$to,$message);
 $send_email->send_email();
?>

为什么电子邮件不包含用户的姓名、电子邮件或评论?

最佳答案

这个:

$name=mysql_real_escape_string($_POST['name']);
$from=mysql_real_escape_string($_POST['email']);
$message=mysql_real_escape_string($_POST['comments']);

由于您没有有效的mysql_*连接,mysql_real_escape_string返回false,因此您的所有值都是false code> 当您发送邮件时会产生空字符串。

注意,除了准备要插入数据库的数据之外,您不应该使用此函数进行任何其他操作,即使如此,您也应该切换到 PDO 或 mysqli 并准备好语句作为 mysql_* 函数已弃用并已从 php 7 中删除。

关于php - 为什么我收到的邮件没有任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34413043/

相关文章:

php - 使用PHP将服务器中的mysql表复制到本地服务器

php - 哪种方法对于大写文本 : CSS or PHP? 更有效

php - Laravel,什么会导致随机 CSRF TokenMismatch 错误?

javascript - 将超链接添加到 "title"标记文本

javascript - JQuery:定义变量会阻止我的脚本运行

javascript - 如何在 <td> 中动态添加字符串

php - $_SERVER ['REQUEST_URI' ] 在捕获查询字符串方面有多可靠?

php - 将自定义总计行添加到 WooCommerce 管理订单总计

javascript - 如何显示/隐藏div点击图片

javascript - 允许全局范围让导入的 Javascript 文件中的变量