【发布时间】:2012-11-06 07:50:58
【问题描述】:
我正在尝试在我的联系表单中加入一个不可见的验证码,但我不确定它是否有效。
我的代码如下...
HTML
<span class="test-field"><label for="test">Please leave blank</label>
<input type="text" name="test" id="test"/></span>
CSS
.test-field {Display: none}
PHP
<?php
if($_POST["test"]!=""){
header("Location: {$_SERVER[HTTP_REFERER]}");exit;
}
// Get Data
$f_name = strip_tags($_POST['f_name']);
$f_email = strip_tags($_POST['f_email']);
$f_message = strip_tags($_POST['f_msg']);
// Send Message
mail( "me@website.com", "Website Contact",
"Name: $f_name\nEmail: $f_email\nMessage: $f_message\n",
"From: My Website" );
?>
为了测试它,我做了一些测试,改变了...
f($_POST["test"]!="")
...到...
f($_POST["test"]="")
我的 PHP 不是很好,但我猜如果该字段为空白,这不应该发送表单,但它确实通过了。我的 PHP 有什么问题吗?
提前致谢。
【问题讨论】:
-
你能解释一下“不起作用”是什么意思吗?
-
我真的不明白
invisible是什么意思如果它是不可见的,为什么你首先需要它,并且说它不起作用,你的意思是你出现错误或其他问题? -
对不起,我重新编辑了我的帖子以使其更清晰
-
@Adam 请幽默一下,你为什么想要一个“隐形”验证码?您是指将在用户操作中重新出现的“隐藏”验证码吗?
-
是隐藏的验证码。我只是在检查我是否有正确的代码。如果该字段不为空,则上述表格将不起作用。我想我可以通过临时更改代码来测试它,这样如果字段为空白,表单就会失败,确实如此。但是表单仍然发送,这就是我认为代码不正确的原因。希望这是有道理的