我发了一份联系表,但是没有发送与我联系的人的留言,主题和电子邮件?
Contact.php:prntscr.com/5uj9mo
Index.php:prntscr.com/5uj9zt
我实际上得到了什么:prntscr.com/5ujaqd
亲切的问候和非常感谢,
芭蕉。
答案 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中,您使用email
和message
作为输入名称。
答案 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>
希望你能理解我......