不发送消息、主题或来自谁?

Not sending message, subject, or from who it is?

我做了一个联系表,但它没有发送消息、主题和联系我的人的电子邮件?

Contact.php : prntscr.com/5uj9mo

Index.php : prntscr.com/5uj9zt

我实际得到的是:prntscr.com/5ujaqd

谨致问候并非常感谢,

穆萨。

如果包含 html 的代码的文件扩展名不是 php(或 apache 将处理为 php 的其他扩展名),那正是发生。 您在其中使用 php 的任何文件都必须具有处理为 php 的扩展名。 尝试将您的文件扩展名更改为 .php

不要将 IP 作为隐藏字段放在表单中,他们可以欺骗它或将其从表单提交中删除。

在您的 contact.php 脚本中,将 $field_ip = $_POST['ip']; 更改为 $field_ip = $_SERVER['REMOTE_ADDR']; 它将解决您最初的问题并确保 IP 未被篡改。

此外,表单处理器中的 post 字段名称与 HTML 中使用的名称不同。 $_POST['cf_email']$_POST['cf_message]' 需要更改为 $_POST['email']$_POST['message'] 因为在你的 HTML 中你使用 emailmessage 作为输入名称。

我只是猜测,您的表单页面可能是 .html 扩展名而不是 .php 吗? 如果是 .html,apache 不会让 php 解释它。


编辑:

对于您的第三个问题,您是否检查过所有输入都具有与 $_post 相同的 name= 或者它们都在 <form> 标签之间?

编辑: 好的,原因是因为您需要像这样给您打电话:

你的输入是这样命名的:

<input name="message">

所以要得到里面写的是什么:

$field_message = $_POST['message'];

所以基本上,在 $_POST 中,您可以从 <form> 中获取 <inputs> 的信息以及 <inputs>

的名称

希望你理解我..