我在联系表单中有一个输入来记录用户的IP地址:
<input type="text" class="form-control" name="ip" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>" disabled>
这没关系。它会在用户填写联系表单时显示用户的IP地址。
问题在于电子邮件中包含此内容。
我将其包含在电子邮件中:
$ip = $_POST['ip'];
但它会在send:
上生成此错误消息Notice: Undefined index: ip in /var/www/contact.php on line 51
我没有收到任何其他输入的错误消息,因此我假设它与在表单中使用disabled
有关吗?
答案 0 :(得分:1)
已禁用不会导致此错误,您应该做两件事:1。使用W3C验证程序检查您的网站是否已经过验证。 2.尝试使用'readonly'而不是'disabled'看看会发生什么 编辑: 1.检查元字符集,使用utf-8就可以了。
编辑2:请注意$_SERVER['REMOTE_ADDR'];
并不总能解析客户端的IP地址。
答案 1 :(得分:0)
不要使用disabled
。
请改为:
<input type="hidden" name="ip" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>">
因为disabled
表示在提交表单时不会发送该字段的值。
答案 2 :(得分:0)