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

时间:2015-01-19 19:39:22

标签: php forms email post contact

我发了一份联系表,但是没有发送与我联系的人的留言,主题和电子邮件?

Contact.php:prntscr.com/5uj9mo

Index.php:prntscr.com/5uj9zt

我实际上得到了什么:prntscr.com/5ujaqd

亲切的问候和非常感谢

芭蕉。

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

如果您拥有html的代码的文件扩展名不是php(或者apache将作为php处理的其他扩展名),那就是将要发生的事情。 您使用php的任何文件都必须具有作为php处理的扩展名。 尝试将文件扩展名更改为.php

答案 2 :(得分:0)

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


编辑:

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

编辑: 好的原因是因为你需要给你发电子邮件信息:

您的输入名称如下:

<input name="message">

所以要得到写在里面的东西:

$field_message = $_POST['message'];

所以基本上,在$_POST中,您可以从<inputs>获取<form>的{​​{1}}的信息,其名称为<inputs>

希望你能理解我......